[INFO] cloning repository https://github.com/supermarsx/ssh-perma-tunnel
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/supermarsx/ssh-perma-tunnel" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsupermarsx%2Fssh-perma-tunnel", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsupermarsx%2Fssh-perma-tunnel'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a737f4686e1c5ede01b79953229dea3df9b22220
[INFO] fixing supermarsx/ssh-perma-tunnel against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsupermarsx%2Fssh-perma-tunnel" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/supermarsx/ssh-perma-tunnel
[INFO] finished tweaking git repo https://github.com/supermarsx/ssh-perma-tunnel
[INFO] tweaked toml for git repo https://github.com/supermarsx/ssh-perma-tunnel written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/supermarsx/ssh-perma-tunnel on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/supermarsx/ssh-perma-tunnel already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 464ad6ff859700255bdd65e0df13f8ba408f75b5b90a523417a77d732dcb6e04
[INFO] running `Command { std: "docker" "start" "464ad6ff859700255bdd65e0df13f8ba408f75b5b90a523417a77d732dcb6e04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "464ad6ff859700255bdd65e0df13f8ba408f75b5b90a523417a77d732dcb6e04" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "464ad6ff859700255bdd65e0df13f8ba408f75b5b90a523417a77d732dcb6e04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "464ad6ff859700255bdd65e0df13f8ba408f75b5b90a523417a77d732dcb6e04" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating crates/spt-bin/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-auth/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-core/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-secrets/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-trust/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-key/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-auth-sspi/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-benchmark/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-chaos-proxy/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-state/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-mem-hygiene/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-forward/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-config/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-config-crypt/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-net/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-protocol/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-cli/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-diagnostics/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-firewall/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-mcp/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-service/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-ssh2/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-obfs/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-scripting/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-sftp/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-dns/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-events/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-ftp-translator/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-observability/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-remote-config/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-snmp/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-ssh3/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-stats/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-status-api/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-supervisor/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-tui/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-updater/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-winevent/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/conformance/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/stress/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking typenum v1.20.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking critical-section v1.2.0
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking base64ct v1.8.3
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]     Checking gimli v0.32.3
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]     Checking rustc-demangle v0.1.27
[INFO] [stderr]     Checking is_ci v1.2.0
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking uuid v1.23.1
[INFO] [stderr]     Checking textwrap v0.16.2
[INFO] [stderr]     Checking supports-color v3.0.2
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking supports-unicode v3.0.0
[INFO] [stderr]     Checking supports-hyperlinks v3.2.0
[INFO] [stderr]     Checking humantime v2.3.0
[INFO] [stderr]     Checking addr2line v0.25.1
[INFO] [stderr]     Checking bytesize v1.3.3
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]     Checking tempfile v3.13.0
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking cmov v0.5.3
[INFO] [stderr]     Checking ctutils v0.4.2
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking atomicwrites v0.4.4
[INFO] [stderr]    Compiling unicode-joining-type v1.0.0
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking backtrace-ext v0.2.1
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking terminal_size v0.4.4
[INFO] [stderr]    Compiling miette-derive v7.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking block-padding v0.3.3
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking miette v7.6.0
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking hybrid-array v0.4.12
[INFO] [stderr]     Checking secrecy v0.10.3
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking rustls-pki-types v1.14.1
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking unicode-bidi v0.3.18
[INFO] [stderr]     Checking directories v6.0.0
[INFO] [stderr]     Checking crypto-common v0.2.2
[INFO] [stderr]     Checking idna_mapping v1.1.0
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking data-encoding v2.11.0
[INFO] [stderr]     Checking idna_adapter v1.1.0
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking humantime-serde v1.1.1
[INFO] [stderr]     Checking ipnet v2.12.0
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling libdbus-sys v0.2.7
[INFO] [stderr]     Checking tokio v1.52.2
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking dbus v0.9.11
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking block-buffer v0.12.0
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking linux-keyutils v0.2.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking compression-core v0.4.32
[INFO] [stderr]     Checking compression-codecs v0.4.38
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]     Checking base16ct v0.2.0
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking webpki-roots v1.0.7
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking dbus-secret-service v4.1.0
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking spt-core v0.26.23 (/opt/rustwide/workdir/crates/spt-core)
[INFO] [stderr]    Migrating crates/spt-core/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking keyring v3.6.3
[INFO] [stderr]    Compiling asn1-rs-impl v0.2.0
[INFO] [stderr]    Compiling asn1-rs-derive v0.6.0
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]    Compiling oid-registry v0.8.1
[INFO] [stderr]        Fixed crates/spt-core/src/diagnostic.rs (4 fixes)
[INFO] [stderr]        Fixed crates/spt-core/src/testing.rs (2 fixes)
[INFO] [stderr]     Checking spt-secrets v0.26.23 (/opt/rustwide/workdir/crates/spt-secrets)
[INFO] [stderr]    Migrating crates/spt-secrets/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking rusticata-macros v4.1.0
[INFO] [stderr]     Checking pkcs1 v0.7.5
[INFO] [stderr]     Checking asn1-rs v0.7.2
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking primeorder v0.13.6
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-secrets/src/file.rs:321:35
[INFO] [stdout]     |
[INFO] [stdout] 321 |                     warn!(path = %ns_entry.path().display(), error = %e, "readdir failed");
[INFO] [stdout]     |                     --------------^^^^^^^^^^^^^^^-----------------------------------------
[INFO] [stdout]     |                     |             |
[INFO] [stdout]     |                     |             this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                     borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-secrets/src/file.rs:321:35
[INFO] [stdout]     |
[INFO] [stdout] 321 |                     warn!(path = %ns_entry.path().display(), error = %e, "readdir failed");
[INFO] [stdout]     |                     --------------^^^^^^^^^^^^^^^-----------------------------------------
[INFO] [stdout]     |                     |             |
[INFO] [stdout]     |                     |             this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                     borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-secrets/src/file.rs:315:31
[INFO] [stdout]     |
[INFO] [stdout] 315 |                 warn!(path = %ns_entry.path().display(), "skipping non-UTF-8 namespace dir");
[INFO] [stdout]     |                 --------------^^^^^^^^^^^^^^^-----------------------------------------------
[INFO] [stdout]     |                 |             |
[INFO] [stdout]     |                 |             this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                 borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-secrets/src/file.rs:315:31
[INFO] [stdout]     |
[INFO] [stdout] 315 |                 warn!(path = %ns_entry.path().display(), "skipping non-UTF-8 namespace dir");
[INFO] [stdout]     |                 --------------^^^^^^^^^^^^^^^-----------------------------------------------
[INFO] [stdout]     |                 |             |
[INFO] [stdout]     |                 |             this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                 borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-secrets/src/keychain.rs:93:15
[INFO] [stdout]     |
[INFO] [stdout]  92 |         let entry = self.entry_for(r)?;
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `entry` calls a custom destructor
[INFO] [stdout]     |             `entry` will be dropped later as of Edition 2024
[INFO] [stdout]  93 |         match entry.get_secret() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 101 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `entry` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-secrets/src/keychain.rs:123:15
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let entry = self.entry_for(r)?;
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `entry` calls a custom destructor
[INFO] [stdout]     |             `entry` will be dropped later as of Edition 2024
[INFO] [stdout] 123 |         match entry.delete_credential() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 131 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `entry` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking async-compression v0.4.42
[INFO] [stderr]     Checking p256 v0.13.2
[INFO] [stderr]     Checking p384 v0.13.1
[INFO] [stderr]     Checking blowfish v0.9.1
[INFO] [stderr]     Checking ssh-encoding v0.2.0
[INFO] [stderr]     Checking rsa v0.9.10
[INFO] [stderr]     Checking cbc v0.1.2
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking ssh-cipher v0.2.0
[INFO] [stderr]     Checking p521 v0.13.3
[INFO] [stderr]     Checking der-parser v10.0.0
[INFO] [stderr]     Checking bcrypt-pbkdf v0.10.0
[INFO] [stderr]     Checking h2 v0.4.14
[INFO] [stderr]     Checking tower-http v0.6.9
[INFO] [stderr]     Checking block-padding v0.4.2
[INFO] [stderr]     Checking openssl-probe v0.2.1
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]     Checking x25519-dalek v2.0.1
[INFO] [stderr]     Checking inout v0.2.2
[INFO] [stderr]     Checking spt-config-crypt v0.26.1 (/opt/rustwide/workdir/crates/spt-config-crypt)
[INFO] [stderr]    Migrating crates/spt-config-crypt/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking cipher v0.5.2
[INFO] [stderr]     Checking x509-parser v0.18.1
[INFO] [stderr]     Checking serde_ignored v0.1.14
[INFO] [stderr]     Checking ssh-key v0.6.7
[INFO] [stderr]     Checking cpubits v0.1.1
[INFO] [stderr]     Checking digest v0.11.3
[INFO] [stderr]     Checking fs4 v1.1.0
[INFO] [stderr]     Checking spt-config v0.26.23 (/opt/rustwide/workdir/crates/spt-config)
[INFO] [stderr]    Migrating crates/spt-config/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking spt-state v0.26.23 (/opt/rustwide/workdir/crates/spt-state)
[INFO] [stderr]     Checking aes v0.9.1
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]    Compiling aws-lc-rs v1.16.3
[INFO] [stderr]    Compiling aws-lc-sys v0.40.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking spt-key v0.26.23 (/opt/rustwide/workdir/crates/spt-key)
[INFO] [stderr]     Checking pem-rfc7468 v1.0.0
[INFO] [stderr]     Checking hmac v0.13.0
[INFO] [stderr]     Checking der v0.8.0
[INFO] [stderr]     Checking chacha20 v0.10.0
[INFO] [stderr]     Checking pbkdf2 v0.13.0
[INFO] [stderr]     Checking sha2 v0.11.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking spki v0.8.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking crypto-bigint v0.7.3
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking salsa20 v0.11.0
[INFO] [stderr]     Checking cbc v0.2.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking constant_time_eq v0.4.2
[INFO] [stderr]     Checking scrypt v0.12.0
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-config/src/load.rs:146:28
[INFO] [stdout]     |
[INFO] [stdout] 143 |             let pp = spt_secrets::read_passphrase("sealed config passphrase: ")?;
[INFO] [stdout]     |                 --
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `pp` calls a custom destructor
[INFO] [stdout]     |                 `pp` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 146 |             unseal(bytes, &KeySource::Passphrase(bytes_pp))
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 147 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/secrecy-0.10.3/src/lib.rs:68:1
[INFO] [stdout]     |
[INFO] [stdout]  68 | impl<S: Zeroize + ?Sized> Drop for SecretBox<S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pp` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/secrecy-0.10.3/src/lib.rs:68:1
[INFO] [stdout]     |
[INFO] [stdout]  68 | impl<S: Zeroize + ?Sized> Drop for SecretBox<S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rand v0.10.1
[INFO] [stderr]    Migrating crates/spt-state/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking pkcs5 v0.8.0
[INFO] [stderr]     Checking caps v0.5.6
[INFO] [stderr]     Checking if-addrs v0.15.0
[INFO] [stderr]     Checking ff v0.14.0
[INFO] [stderr]     Checking pkcs8 v0.11.0
[INFO] [stderr]     Checking spt-net v0.26.23 (/opt/rustwide/workdir/crates/spt-net)
[INFO] [stderr]     Checking signature v3.0.0
[INFO] [stderr]     Checking base16ct v1.0.0
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]     Checking sec1 v0.8.1
[INFO] [stderr]     Checking group v0.14.0
[INFO] [stderr]     Checking hkdf v0.13.0
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Migrating crates/spt-key/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking universal-hash v0.6.1
[INFO] [stderr]     Checking elliptic-curve v0.14.0-rc.33
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Migrating crates/spt-net/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling libloading v0.8.9
[INFO] [stderr]     Checking rfc6979 v0.5.0
[INFO] [stderr]    Compiling bindgen v0.71.1
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]     Checking polyval v0.7.1
[INFO] [stderr]     Checking primeorder v0.14.0-rc.10
[INFO] [stderr]     Checking hyper-rustls v0.27.5
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking ecdsa v0.17.0-rc.18
[INFO] [stderr]     Checking primefield v0.14.0-rc.11
[INFO] [stderr]     Checking spt-trust v0.26.23 (/opt/rustwide/workdir/crates/spt-trust)
[INFO] [stderr]    Migrating crates/spt-trust/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling curve25519-dalek v5.0.0-rc.0
[INFO] [stderr]    Compiling rustc-hash v2.1.2
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking spt-auth v0.26.23 (/opt/rustwide/workdir/crates/spt-auth)
[INFO] [stderr]    Migrating crates/spt-auth/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking ghash v0.6.0
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]     Checking ssh-encoding v0.3.0-rc.9
[INFO] [stderr]     Checking ctr v0.10.1
[INFO] [stderr]     Checking aead v0.6.0
[INFO] [stderr]    Compiling blake3 v1.8.5
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling smartstring v1.0.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking aes-gcm v0.11.0-rc.4
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking poly1305 v0.9.0
[INFO] [stderr]     Checking crypto-primes v0.7.2
[INFO] [stderr]     Checking ed25519 v3.0.0
[INFO] [stderr]     Checking pkcs1 v0.8.0-rc.4
[INFO] [stderr]     Checking spt-protocol v0.26.23 (/opt/rustwide/workdir/crates/spt-protocol)
[INFO] [stderr]     Checking blake2 v0.11.0-rc.6
[INFO] [stderr]    Migrating crates/spt-protocol/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking blowfish v0.10.0
[INFO] [stderr]     Checking salsa20 v0.10.2
[INFO] [stderr]     Checking serde_bytes v0.11.19
[INFO] [stderr]     Checking keccak v0.2.0
[INFO] [stderr]     Checking fiat-crypto v0.3.0
[INFO] [stderr]     Checking ed25519-dalek v3.0.0-rc.0
[INFO] [stderr]     Checking spt-forward v0.26.23 (/opt/rustwide/workdir/crates/spt-forward)
[INFO] [stderr]    Migrating crates/spt-forward/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking sha3 v0.11.0
[INFO] [stderr]     Checking russh-sftp v2.3.0
[INFO] [stderr]     Checking xsalsa20poly1305 v0.9.1
[INFO] [stderr]     Checking rsa v0.10.0-rc.18
[INFO] [stderr]     Checking argon2 v0.6.0-rc.8
[INFO] [stderr]     Checking bcrypt-pbkdf v0.11.0
[INFO] [stderr]     Checking ssh-cipher v0.3.0-rc.9
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]        Fixed crates/spt-forward/src/udp.rs (1 fix)
[INFO] [stderr]     Checking p521 v0.14.0-rc.10
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-forward/src/local_tcp.rs:202:23
[INFO] [stdout]      |
[INFO] [stdout]  202 |                 match TcpListener::bind(addr).await {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                       |                       |
[INFO] [stdout]      |                       |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       |                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                       |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                       |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                       `__awaitee` calls a custom destructor
[INFO] [stdout]      |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  213 |                         tokio::time::sleep(BIND_RETRY_BACKOFF).await;
[INFO] [stdout]      |                         --------------------------------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  217 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-forward/src/local_tcp.rs:233:23
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 match TcpListener::bind(candidate).await {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                       |                            |
[INFO] [stdout]     |                       |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       |                            up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 253 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking p256 v0.14.0-rc.10
[INFO] [stderr]     Checking sha1 v0.11.0
[INFO] [stderr]     Checking chacha20poly1305 v0.10.1
[INFO] [stderr]     Checking kem v0.3.0
[INFO] [stderr]     Checking thin-vec v0.2.18
[INFO] [stderr]     Checking module-lattice v0.2.3
[INFO] [stderr]    Compiling rhai_codegen v3.1.0
[INFO] [stderr]     Checking russh-cryptovec v0.61.0
[INFO] [stderr]     Checking ml-kem v0.3.2
[INFO] [stderr]     Checking spt-obfs v0.26.23 (/opt/rustwide/workdir/crates/spt-obfs)
[INFO] [stderr]    Migrating crates/spt-obfs/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking spt-sftp v0.26.23 (/opt/rustwide/workdir/crates/spt-sftp)
[INFO] [stderr]     Checking rhai v1.24.0
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-obfs/src/websocket.rs:226:19
[INFO] [stdout]     |
[INFO] [stdout] 226 |             match self.ws.poll_next_unpin(cx) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 246 |                 Poll::Ready(Some(Err(e))) => {
[INFO] [stdout]     |                                      -
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `e` calls a custom destructor
[INFO] [stdout]     |                                      `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 255 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking internal-russh-num-bigint v0.5.0
[INFO] [stderr]    Migrating crates/spt-sftp/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling enum_dispatch v0.3.13
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-sftp/src/mock.rs:139:29
[INFO] [stdout]     |
[INFO] [stdout] 139 |           while let Some(e) = rd.next_entry().await.map_err(|_| StatusCode::Failure)? {
[INFO] [stdout]     |                          -    ---------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |    |               |
[INFO] [stdout]     |                          |    |               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                          |    |               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          |    |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |    |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          |    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                          |    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          |    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                          |    up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          |    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                          |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          `e` calls a custom destructor
[INFO] [stdout]     |                          `e` will be dropped later as of Edition 2024
[INFO] [stdout] 140 |               let name = e.file_name().to_string_lossy().into_owned();
[INFO] [stdout] 141 |               let m = fs::symlink_metadata(e.path())
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 142 | |                 .await
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 145 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-sftp/src/recursive.rs:129:29
[INFO] [stdout]     |
[INFO] [stdout] 129 |       while let Some(entry) = entries.next_entry().await.map_err(|e| SftpError::Local {
[INFO] [stdout]     |                      -----    ^-------------------------
[INFO] [stdout]     |                      |        |                    |
[INFO] [stdout]     |                      |        |                    this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                      |        |                    up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                      |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |  ____________________|________`__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                    |
[INFO] [stdout]     | |                    `entry` calls a custom destructor
[INFO] [stdout]     | |                    `entry` will be dropped later as of Edition 2024
[INFO] [stdout] 130 | |         op: "put-next_entry",
[INFO] [stdout] 131 | |         detail: format!("{}: {e}", local_dir.display()),
[INFO] [stdout] 132 | |     })? {
[INFO] [stdout]     | |       ^
[INFO] [stdout]     | |       |
[INFO] [stdout]     | |       this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     | |       up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |_______this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |         up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 133 |           let file_type = entry.file_type().await.map_err(|e| SftpError::Local {
[INFO] [stdout]     |                           -----------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 147 | /                     fs::metadata(&local_child)
[INFO] [stdout] 148 | |                         .await
[INFO] [stdout]     | |                              -
[INFO] [stdout]     | |______________________________|
[INFO] [stdout]     | |______________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 | |                     client.create_dir_idem(remote_child.clone()).await?;
[INFO] [stdout]     | |                     --------------------------------------------------
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                     `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 155 | |                     report.directories += 1;
[INFO] [stdout] 156 | /                     Box::pin(put_dir_inner(
[INFO] [stdout] 157 | |                         client,
[INFO] [stdout] 158 | |                         &local_child,
[INFO] [stdout] 159 | |                         &remote_child,
[INFO] [stdout] ...   |
[INFO] [stdout] 164 | |                     ))
[INFO] [stdout] 165 | |                     .await?;
[INFO] [stdout]     | |                          -
[INFO] [stdout]     | |__________________________|
[INFO] [stdout]     | |__________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                            `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 166 |                   } else {
[INFO] [stdout] 167 | |                     upload_file(client, &local_child, &remote_child, opts, bucket, report).await?;
[INFO] [stdout]     | |                     ----------------------------------------------------------------------------
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 170 |                   let target = fs::read_link(&local_child)
[INFO] [stdout]     |  ______________________________-
[INFO] [stdout]     | |______________________________|
[INFO] [stdout] 171 | |                     .await
[INFO] [stdout]     | |                          -
[INFO] [stdout]     | |__________________________|
[INFO] [stdout]     | |__________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                            `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 176 | /                 client
[INFO] [stdout] 177 | |                     .symlink(target.to_string_lossy().into_owned(), remote_child.clone())
[INFO] [stdout] 178 | |                     .await?;
[INFO] [stdout]     | |                          -
[INFO] [stdout]     | |__________________________|
[INFO] [stdout]     | |__________________________this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                            `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 182 | |             client.create_dir_idem(remote_child.clone()).await?;
[INFO] [stdout]     | |             --------------------------------------------------
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |             `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 183 | |             report.directories += 1;
[INFO] [stdout] 184 | /             Box::pin(put_dir_inner(
[INFO] [stdout] 185 | |                 client,
[INFO] [stdout] 186 | |                 &local_child,
[INFO] [stdout] 187 | |                 &remote_child,
[INFO] [stdout] ...   |
[INFO] [stdout] 192 | |             ))
[INFO] [stdout] 193 | |             .await?;
[INFO] [stdout]     | |                  -
[INFO] [stdout]     | |__________________|
[INFO] [stdout]     | |__________________this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout] 194 |           } else if file_type.is_file() {
[INFO] [stdout] 195 | |             upload_file(client, &local_child, &remote_child, opts, bucket, report).await?;
[INFO] [stdout]     | |             ----------------------------------------------------------------------------
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |             `#11` will be dropped later as of Edition 2024
[INFO] [stdout] 196 | |         }
[INFO] [stdout] 197 | |     }
[INFO] [stdout]     | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-sftp/src/mount/macos_sshfs.rs:231:44
[INFO] [stdout]     |
[INFO] [stdout] 231 |                         if let Ok(mut q) = tail.lock() {
[INFO] [stdout]     |                                   -----    ^^^^^^^^^^^
[INFO] [stdout]     |                                   |        |
[INFO] [stdout]     |                                   |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   `q` calls a custom destructor
[INFO] [stdout]     |                                   `q` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 237 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `q` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking generic-array v1.4.2
[INFO] [stderr]     Checking russh-util v0.52.0
[INFO] [stderr]    Compiling delegate v0.13.5
[INFO] [stderr]     Checking hex-literal v1.1.0
[INFO] [stderr]     Checking md5 v0.8.0
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking yasna v0.5.2
[INFO] [stderr]     Checking pem v3.0.6
[INFO] [stderr]     Checking sysinfo v0.32.1
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking aes-keywrap v0.9.0
[INFO] [stderr]     Checking hmac-sha256 v1.1.14
[INFO] [stderr]     Checking hmac-sha512 v1.1.12
[INFO] [stderr]    Compiling protobuf v3.7.2
[INFO] [stderr]     Checking ct-codecs v1.1.6
[INFO] [stderr]     Checking superboring v0.1.8
[INFO] [stderr]     Checking spt-mem-hygiene v0.26.23 (/opt/rustwide/workdir/crates/spt-mem-hygiene)
[INFO] [stderr]    Migrating crates/spt-mem-hygiene/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling libgssapi-sys v0.3.3 (/opt/rustwide/workdir/vendor/libgssapi-fork/libgssapi-sys)
[INFO] [stderr]     Checking blake2b_simd v1.0.4
[INFO] [stderr]     Checking ed25519-compact v2.2.0
[INFO] [stderr]     Checking protobuf-support v3.7.2
[INFO] [stderr]     Checking k256 v0.13.4
[INFO] [stderr]     Checking p384 v0.14.0-rc.10
[INFO] [stderr]     Checking coarsetime v0.1.37
[INFO] [stderr]    Compiling prometheus v0.14.0
[INFO] [stderr]     Checking binstring v0.1.7
[INFO] [stderr]     Checking hmac-sha1-compact v1.1.7
[INFO] [stderr]     Checking ece-native v0.4.0
[INFO] [stderr]     Checking email-encoding v0.4.1
[INFO] [stderr]     Checking jwt-simple v0.12.15
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]     Checking quoted_printable v0.5.2
[INFO] [stderr]     Checking symlink v0.1.0
[INFO] [stderr]     Checking email_address v0.2.9
[INFO] [stderr]     Checking tracing-appender v0.2.5
[INFO] [stderr]     Checking tracing-journald v0.3.2
[INFO] [stderr]     Checking web-push-native v0.4.0
[INFO] [stderr]    Compiling quinn-udp v0.5.14
[INFO] [stderr]    Compiling quinn v0.11.9
[INFO] [stderr]     Checking lru-slab v0.1.2
[INFO] [stderr]     Checking libgssapi v0.9.1 (/opt/rustwide/workdir/vendor/libgssapi-fork/libgssapi)
[INFO] [stderr]     Checking quinn-proto v0.11.14
[INFO] [stderr]     Checking spt-stats v0.26.23 (/opt/rustwide/workdir/crates/spt-stats)
[INFO] [stderr]    Migrating crates/spt-stats/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking spt-auth-sspi v0.26.23 (/opt/rustwide/workdir/crates/spt-auth-sspi)
[INFO] [stderr]        Fixed crates/spt-stats/src/counters.rs (13 fixes)
[INFO] [stderr]    Migrating crates/spt-auth-sspi/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking prefix-trie v0.8.4
[INFO] [stderr]     Checking h3 v0.0.8
[INFO] [stderr]     Checking csv-core v0.1.13
[INFO] [stderr]     Checking csv v1.4.0
[INFO] [stderr]     Checking hickory-proto v0.26.1
[INFO] [stderr]     Checking lettre v0.11.22
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking spt-observability v0.26.23 (/opt/rustwide/workdir/crates/spt-observability)
[INFO] [stderr]    Migrating crates/spt-observability/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking ssh-key v0.7.0-rc.10
[INFO] [stderr]     Checking spt-events v0.26.23 (/opt/rustwide/workdir/crates/spt-events)
[INFO] [stderr]     Checking tagptr v0.2.0
[INFO] [stderr]     Checking h3-quinn v0.0.10
[INFO] [stderr]     Checking moka v0.12.15
[INFO] [stderr]     Checking spt-ssh3 v0.26.23 (/opt/rustwide/workdir/crates/spt-ssh3)
[INFO] [stderr]        Fixed crates/spt-observability/src/init.rs (4 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-observability/src/syslog_tcp.rs:126:52
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let mut stream = connect(cfg).await?;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stream` calls a custom destructor
[INFO] [stdout]     |         `stream` will be dropped later as of Edition 2024
[INFO] [stdout] 126 |     write_frame(&mut stream, payload, cfg.timeout).await
[INFO] [stdout]     |                                                    ^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 127 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/spt-events/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-observability/src/syslog_tls.rs:384:52
[INFO] [stdout]     |
[INFO] [stdout] 382 |     let connector = TlsConnector::from(Arc::new(client_cfg));
[INFO] [stdout]     |         ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `connector` calls a custom destructor
[INFO] [stdout]     |         `connector` will be dropped later as of Edition 2024
[INFO] [stdout] 383 |     let mut stream = connect(&connector, cfg).await?;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stream` calls a custom destructor
[INFO] [stdout]     |         `stream` will be dropped later as of Edition 2024
[INFO] [stdout] 384 |     write_frame(&mut stream, payload, cfg.timeout).await
[INFO] [stdout]     |                                                    ^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 385 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `connector` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/crypto/tls13.rs:248:1
[INFO] [stdout]     |
[INFO] [stdout] 248 | impl Drop for OkmBlock {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `stream` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking resolv-conf v0.7.6
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking hickory-net v0.26.1
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-events/src/sinks/command.rs:47:32
[INFO] [stdout]      |
[INFO] [stdout]   40 | #[async_trait]
[INFO] [stdout]      |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]   43 |         let mut cmd = Command::new(program);
[INFO] [stdout]      |             -------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `cmd` calls a custom destructor
[INFO] [stdout]      |             `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   47 |         match timeout(to, fut).await {
[INFO] [stdout]      |                                ^^^^^
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]      = note: `cmd` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/spt-ssh3/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking spt-supervisor v0.26.23 (/opt/rustwide/workdir/crates/spt-supervisor)
[INFO] [stderr]     Checking spt-scripting v0.26.23 (/opt/rustwide/workdir/crates/spt-scripting)
[INFO] [stderr]     Checking hickory-resolver v0.26.1
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]    Compiling instability v0.3.7
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking spt-chaos-proxy v0.26.23 (/opt/rustwide/workdir/crates/spt-chaos-proxy)
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking ratatui v0.28.1
[INFO] [stderr]        Fixed crates/spt-ssh3/src/session.rs (1 fix)
[INFO] [stderr]    Migrating crates/spt-supervisor/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ssh3/src/forward.rs:396:34
[INFO] [stdout]     |
[INFO] [stdout] 395 |         let mut g = control_send.lock().await;
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `g` calls a custom destructor
[INFO] [stdout]     |             `g` will be dropped later as of Edition 2024
[INFO] [stdout] 396 |         req.write_async(&mut *g).await
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 397 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `g` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/forward.rs:406:14
[INFO] [stdout]      |
[INFO] [stdout]  404 |         let mut g = control_recv.lock().await;
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `g` calls a custom destructor
[INFO] [stdout]      |             `g` will be dropped later as of Edition 2024
[INFO] [stdout]  405 |         tokio::time::timeout(OPEN_TIMEOUT, Ssh3Frame::read_async(&mut *g))
[INFO] [stdout]  406 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  407 |             .map_err(|_| Error::RuntimeFailure("ssh3 tcpip-forward: timeout".into()))?
[INFO] [stdout]  408 |     };
[INFO] [stdout]      |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `g` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ssh3/src/forward.rs:614:39
[INFO] [stdout]     |
[INFO] [stdout] 614 |             while let Some(payload) = inbound_rx.recv().await {
[INFO] [stdout]     |                            -------    ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                            |          |                 |
[INFO] [stdout]     |                            |          |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                            |          |                 up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |          |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |          |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                            |          up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |          `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `payload` calls a custom destructor
[INFO] [stdout]     |                            `payload` will be dropped later as of Edition 2024
[INFO] [stdout] 615 |                 let peer = {
[INFO] [stdout] 616 |                     let g = inbound_peer.lock().await;
[INFO] [stdout]     |                         -   -------------------------
[INFO] [stdout]     |                         |   |                   |
[INFO] [stdout]     |                         |   |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         |   |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `g` calls a custom destructor
[INFO] [stdout]     |                         `g` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 620 |                     if let Err(e) = socket_send.send_to(&payload, peer).await {
[INFO] [stdout]     |                                     -----------------------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                     `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 626 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `payload` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `g` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/forward.rs:1091:34
[INFO] [stdout]      |
[INFO] [stdout] 1090 |         let mut g = control_send.lock().await;
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `g` calls a custom destructor
[INFO] [stdout]      |             `g` will be dropped later as of Edition 2024
[INFO] [stdout] 1091 |         req.write_async(&mut *g).await
[INFO] [stdout]      |                                  ^^^^^
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1092 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `g` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/forward.rs:1101:14
[INFO] [stdout]      |
[INFO] [stdout] 1099 |         let mut g = control_recv.lock().await;
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `g` calls a custom destructor
[INFO] [stdout]      |             `g` will be dropped later as of Edition 2024
[INFO] [stdout] 1100 |         tokio::time::timeout(OPEN_TIMEOUT, Ssh3Frame::read_async(&mut *g))
[INFO] [stdout] 1101 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1102 |             .map_err(|_| Error::RuntimeFailure("ssh3 remote-uds: timeout".into()))?
[INFO] [stdout] 1103 |     };
[INFO] [stdout]      |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `g` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/forward.rs:1271:18
[INFO] [stdout]      |
[INFO] [stdout] 1261 |                   let mut g = control_send.lock().await;
[INFO] [stdout]      |                       -----
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `g` calls a custom destructor
[INFO] [stdout]      |                       `g` will be dropped later as of Edition 2024
[INFO] [stdout] 1262 | /                 Ssh3Frame::new(
[INFO] [stdout] 1263 | |                     Ssh3FrameKind::ForwardOpenResponse,
[INFO] [stdout] 1264 | |                     ForwardOpenResponse {
[INFO] [stdout] 1265 | |                         ok: false,
[INFO] [stdout] ...    |
[INFO] [stdout] 1268 | |                     .encode(),
[INFO] [stdout] 1269 | |                 )
[INFO] [stdout]      | |                 -
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |_________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1270 |                   .write_async(&mut *g)
[INFO] [stdout] 1271 |                   .await
[INFO] [stdout]      |                    ^^^^^
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1272 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `g` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/forward.rs:1289:10
[INFO] [stdout]      |
[INFO] [stdout] 1279 |           let mut g = control_send.lock().await;
[INFO] [stdout]      |               -----
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `g` calls a custom destructor
[INFO] [stdout]      |               `g` will be dropped later as of Edition 2024
[INFO] [stdout] 1280 | /         Ssh3Frame::new(
[INFO] [stdout] 1281 | |             Ssh3FrameKind::ForwardOpenResponse,
[INFO] [stdout] 1282 | |             ForwardOpenResponse {
[INFO] [stdout] 1283 | |                 ok: true,
[INFO] [stdout] ...    |
[INFO] [stdout] 1286 | |             .encode(),
[INFO] [stdout] 1287 | |         )
[INFO] [stdout]      | |         -
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1288 |           .write_async(&mut *g)
[INFO] [stdout] 1289 |           .await
[INFO] [stdout]      |            ^^^^^
[INFO] [stdout]      |            |
[INFO] [stdout]      |            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1290 |       }
[INFO] [stdout]      |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `g` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/forward.rs:1527:39
[INFO] [stdout]      |
[INFO] [stdout] 1527 |               while let Some(payload) = inbound_rx.recv().await {
[INFO] [stdout]      |                              -------    ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                              |          |                 |
[INFO] [stdout]      |                              |          |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                              |          |                 up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              |          |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              |          |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              |          this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                              |          up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              |          `__awaitee` calls a custom destructor
[INFO] [stdout]      |                              |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              `payload` calls a custom destructor
[INFO] [stdout]      |                              `payload` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1533 |                   let Ok(permit) = inflight.clone().try_acquire_owned() else {
[INFO] [stdout]      |                          ------    ------------------------------------
[INFO] [stdout]      |                          |         |
[INFO] [stdout]      |                          |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                          |         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          `permit` calls a custom destructor
[INFO] [stdout]      |                          `permit` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1544 |                   let sock = match UdpSocket::bind(("0.0.0.0", 0)).await {
[INFO] [stdout]      |                       ----         -------------------------------------
[INFO] [stdout]      |                       |            |                               |
[INFO] [stdout]      |                       |            |                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                       |            |                               `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       |            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                       |            `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       |            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       |            `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       `sock` calls a custom destructor
[INFO] [stdout]      |                       `sock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1555 |                   if let Err(e) = sock.send_to(&payload, &dial_target).await {
[INFO] [stdout]      |                                   ------------------------------------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                   `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1567 | /                 tokio::spawn(async move {
[INFO] [stdout] 1568 | |                     // Permit released when this reply task finishes.
[INFO] [stdout] 1569 | |                     let _permit = permit;
[INFO] [stdout] 1570 | |                     let r = tokio::time::timeout(
[INFO] [stdout] ...    |
[INFO] [stdout] 1581 | |                 });
[INFO] [stdout]      | |                  -
[INFO] [stdout]      | |                  |
[INFO] [stdout]      | |__________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                    `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 1582 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `payload` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `permit` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sock` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/forward.rs:1610:27
[INFO] [stdout]      |
[INFO] [stdout] 1609 |         let body = payload.slice(4..);
[INFO] [stdout]      |             ----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `body` calls a custom destructor
[INFO] [stdout]      |             `body` will be dropped later as of Edition 2024
[INFO] [stdout] 1610 |         if let Some(tx) = state.udp_flows.get(&flow_id) {
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1613 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `body` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/forward.rs:1604:29
[INFO] [stdout]      |
[INFO] [stdout] 1604 |     while let Ok(payload) = conn.read_datagram().await {
[INFO] [stdout]      |                  -------    ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                  |          |                    |
[INFO] [stdout]      |                  |          |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                  |          |                    up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                  |          |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  |          |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                  |          up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                  |          `__awaitee` calls a custom destructor
[INFO] [stdout]      |                  |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  `payload` calls a custom destructor
[INFO] [stdout]      |                  `payload` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1609 |         let body = payload.slice(4..);
[INFO] [stdout]      |             ----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `body` calls a custom destructor
[INFO] [stdout]      |             `body` will be dropped later as of Edition 2024
[INFO] [stdout] 1610 |         if let Some(tx) = state.udp_flows.get(&flow_id) {
[INFO] [stdout]      |                     --
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `tx` calls a custom destructor
[INFO] [stdout]      |                     `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 1611 |             let _ = tx.value().send(body);
[INFO] [stdout]      |                     ---------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 1612 |         }
[INFO] [stdout] 1613 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `payload` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `body` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/forward.rs:1735:35
[INFO] [stdout]      |
[INFO] [stdout] 1735 |         while let Some(payload) = reply_rx.recv().await {
[INFO] [stdout]      |                        -------    ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                        |          |               |
[INFO] [stdout]      |                        |          |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                        |          |               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        |          |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        |          |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        |          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                        |          up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        |          `__awaitee` calls a custom destructor
[INFO] [stdout]      |                        |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        `payload` calls a custom destructor
[INFO] [stdout]      |                        `payload` will be dropped later as of Edition 2024
[INFO] [stdout] 1736 |             let peer = {
[INFO] [stdout] 1737 |                 let g = inbound_peer.lock().await;
[INFO] [stdout]      |                     -   -------------------------
[INFO] [stdout]      |                     |   |                   |
[INFO] [stdout]      |                     |   |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                     |   |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     `g` calls a custom destructor
[INFO] [stdout]      |                     `g` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1741 |                 if let Err(e) = inbound_socket.send_to(&payload, peer).await {
[INFO] [stdout]      |                                 --------------------------------------------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1745 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `payload` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `g` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/session.rs:197:27
[INFO] [stdout]      |
[INFO] [stdout]  197 |                     match conn.accept_bi().await {
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                           |                |
[INFO] [stdout]      |                           |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                           |                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                           |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                           |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                           `__awaitee` calls a custom destructor
[INFO] [stdout]      |                           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  200 |                             tokio::spawn(forward::dispatch_inbound_bidi(st, send, recv));
[INFO] [stdout]      |                             ------------------------------------------------------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  201 |                         }
[INFO] [stdout]  202 |                         Err(e) => {
[INFO] [stdout]      |                             -
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `e` calls a custom destructor
[INFO] [stdout]      |                             `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  207 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/session.rs:231:35
[INFO] [stdout]      |
[INFO] [stdout]  230 |                             let body = payload.slice(4..);
[INFO] [stdout]      |                                 ----
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 `body` calls a custom destructor
[INFO] [stdout]      |                                 `body` will be dropped later as of Edition 2024
[INFO] [stdout]  231 |                             match state2.udp_flows.get(&flow_id) { Some(tx) => {
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  240 |                         }
[INFO] [stdout]      |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `body` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/session.rs:217:27
[INFO] [stdout]      |
[INFO] [stdout]  217 |                     match conn.read_datagram().await {
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                           |                    |
[INFO] [stdout]      |                           |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                           |                    up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                           |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                           |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                           `__awaitee` calls a custom destructor
[INFO] [stdout]      |                           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  218 |                         Ok(payload) => {
[INFO] [stdout]      |                            -------
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            `payload` calls a custom destructor
[INFO] [stdout]      |                            `payload` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  230 |                             let body = payload.slice(4..);
[INFO] [stdout]      |                                 ----
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 `body` calls a custom destructor
[INFO] [stdout]      |                                 `body` will be dropped later as of Edition 2024
[INFO] [stdout]  231 |                             match state2.udp_flows.get(&flow_id) { Some(tx) => {
[INFO] [stdout]      |                                                                         --
[INFO] [stdout]      |                                                                         |
[INFO] [stdout]      |                                                                         `tx` calls a custom destructor
[INFO] [stdout]      |                                                                         `tx` will be dropped later as of Edition 2024
[INFO] [stdout]  232 |                                 let _ = tx.value().send(body);
[INFO] [stdout]      |                                         ---------------------
[INFO] [stdout]      |                                         |
[INFO] [stdout]      |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  241 |                         Err(e) => {
[INFO] [stdout]      |                             -
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `e` calls a custom destructor
[INFO] [stdout]      |                             `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  246 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `payload` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `body` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking arboard v3.4.1
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking hickory-server v0.26.1
[INFO] [stderr]     Checking clap_complete v4.6.5
[INFO] [stderr]     Checking spt-mcp v0.26.23 (/opt/rustwide/workdir/crates/spt-mcp)
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]        Fixed crates/spt-supervisor/src/orchestrator.rs (1 fix)
[INFO] [stderr]    Migrating crates/spt-scripting/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-supervisor/src/orchestrator.rs:337:70
[INFO] [stdout]      |
[INFO] [stdout]  332 |                   ReloadAction::StopProfile(n) => self.stop_profile(n).await,
[INFO] [stdout]      |                                                   --------------------------
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  337 |                       if let Some((p, proto, auth, eauth, eps, cfg)) = provider(n) {
[INFO] [stdout]      |                                    -                                   ^^^^^^^^^^^
[INFO] [stdout]      |                                    |                                   |
[INFO] [stdout]      |                                    |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                    |                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                    `p` calls a custom destructor
[INFO] [stdout]      |                                    `p` will be dropped later as of Edition 2024
[INFO] [stdout]  338 | /                         self.restart_profile_with_auth(&p, proto, auth, eauth, eps, cfg)
[INFO] [stdout]  339 | |                             .await;
[INFO] [stdout]      | |                                  -
[INFO] [stdout]      | |                                  |
[INFO] [stdout]      | |__________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  340 |                       }
[INFO] [stdout]  341 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-state/src/events.rs:145:1
[INFO] [stdout]      |
[INFO] [stdout]  145 | impl Drop for EventRing {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.14.5/src/raw/mod.rs:3679:1
[INFO] [stdout]      |
[INFO] [stdout] 3679 | impl<T, A: Allocator> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-supervisor/src/orchestrator.rs:353:62
[INFO] [stdout]      |
[INFO] [stdout]  353 |               if let Some((p, proto, auth, eauth, eps, cfg)) = provider(&profile) {
[INFO] [stdout]      |                            -                                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                            |                                   |
[INFO] [stdout]      |                            |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                            |                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                            `p` calls a custom destructor
[INFO] [stdout]      |                            `p` will be dropped later as of Edition 2024
[INFO] [stdout]  354 | /                 self.restart_profile_with_auth(&p, proto, auth, eauth, eps, cfg)
[INFO] [stdout]  355 | |                     .await;
[INFO] [stdout]      | |                          -
[INFO] [stdout]      | |                          |
[INFO] [stdout]      | |__________________________`__awaitee` calls a custom destructor
[INFO] [stdout]      |                            `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  356 |               }
[INFO] [stdout]  357 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-state/src/events.rs:145:1
[INFO] [stdout]      |
[INFO] [stdout]  145 | impl Drop for EventRing {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.14.5/src/raw/mod.rs:3679:1
[INFO] [stdout]      |
[INFO] [stdout] 3679 | impl<T, A: Allocator> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-supervisor/src/orchestrator.rs:381:32
[INFO] [stdout]     |
[INFO] [stdout] 380 |         let sup = self.profile(profile)?;
[INFO] [stdout]     |             ---
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `sup` calls a custom destructor
[INFO] [stdout]     |             `sup` will be dropped later as of Edition 2024
[INFO] [stdout] 381 |         sup.failover(endpoint).await
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 382 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `sup` invokes this custom destructor
[INFO] [stdout]    --> crates/spt-supervisor/src/profile.rs:436:1
[INFO] [stdout]     |
[INFO] [stdout] 436 | impl Drop for ProfileSupervisor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-supervisor/src/orchestrator.rs:405:29
[INFO] [stdout]     |
[INFO] [stdout] 404 |         let sup = self.profile(&row.profile)?;
[INFO] [stdout]     |             ---
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `sup` calls a custom destructor
[INFO] [stdout]     |             `sup` will be dropped later as of Edition 2024
[INFO] [stdout] 405 |         sup.close_session().await
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 406 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `sup` invokes this custom destructor
[INFO] [stdout]    --> crates/spt-supervisor/src/profile.rs:436:1
[INFO] [stdout]     |
[INFO] [stdout] 436 | impl Drop for ProfileSupervisor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-supervisor/src/orchestrator.rs:415:26
[INFO] [stdout]     |
[INFO] [stdout] 414 |         let sup = self.profile(profile)?;
[INFO] [stdout]     |             ---
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `sup` calls a custom destructor
[INFO] [stdout]     |             `sup` will be dropped later as of Edition 2024
[INFO] [stdout] 415 |         sup.drain(grace).await
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 416 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `sup` invokes this custom destructor
[INFO] [stdout]    --> crates/spt-supervisor/src/profile.rs:436:1
[INFO] [stdout]     |
[INFO] [stdout] 436 | impl Drop for ProfileSupervisor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-supervisor/src/profile.rs:563:33
[INFO] [stdout]      |
[INFO] [stdout]  563 |               while let Ok(msg) = control.try_recv() {
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                                   up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  570 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  603 |                       if self.sleep_or_control(delay, &mut control).await {
[INFO] [stdout]      |                          ------------------------------------------------
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          `__awaitee` calls a custom destructor
[INFO] [stdout]      |                          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  625 |               let session_res = tokio::select! {
[INFO] [stdout]      |  _________________-----------___-
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 `session_res` calls a custom destructor
[INFO] [stdout]      | |                 `session_res` will be dropped later as of Edition 2024
[INFO] [stdout]  626 | |                 r = self.protocol.connect(&endpoint, &endpoint_auth) => r,
[INFO] [stdout]  627 | |                 ctrl = control.recv() => {
[INFO] [stdout]      | |                 ----
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 `ctrl` calls a custom destructor
[INFO] [stdout]      | |                 `ctrl` will be dropped later as of Edition 2024
[INFO] [stdout]  628 | |                     match ctrl {
[INFO] [stdout] ...    |
[INFO] [stdout]  646 | |                             let _ = reply.send(Err(no_live_session_err()));
[INFO] [stdout]      | |                                     --------------------------------------
[INFO] [stdout]      | |                                     |
[INFO] [stdout]      | |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  661 | |             };
[INFO] [stdout]      | |             -
[INFO] [stdout]      | |             |
[INFO] [stdout]      | |             `output` calls a custom destructor
[INFO] [stdout]      | |             `output` will be dropped later as of Edition 2024
[INFO] [stdout]      | |             `futures_init` calls a custom destructor
[INFO] [stdout]      | |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |             `futures` calls a custom destructor
[INFO] [stdout]      | |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]      | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  664 | /                     self.selector
[INFO] [stdout]  665 | |                         .lock()
[INFO] [stdout]      | |                               -
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  706 | |                     if self.sleep_or_control(delay, &mut control).await {
[INFO] [stdout]      | |                        ------------------------------------------------
[INFO] [stdout]      | |                        |
[INFO] [stdout]      | |                        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                        `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  718 | |             let runners = match self.open_forwards(session.as_mut()).await {
[INFO] [stdout]      | |                                 ------------------------------------------
[INFO] [stdout]      | |                                 |                                    |
[INFO] [stdout]      | |                                 |                                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                 |                                    `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  727 | |                     let _ = close_session_bounded(session, self.cfg.keepalive_interval).await;
[INFO] [stdout]      | |                             -----------------------------------------------------------------
[INFO] [stdout]      | |                             |
[INFO] [stdout]      | |                             this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                             `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  730 | |                     if self.sleep_or_control(delay, &mut control).await {
[INFO] [stdout]      | |                        ------------------------------------------------
[INFO] [stdout]      | |                        |
[INFO] [stdout]      | |                        this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                        `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  746 | |             let action = self.run_active(&mut control, session, runners).await;
[INFO] [stdout]      | |                          -----------------------------------------------------
[INFO] [stdout]      | |                          |
[INFO] [stdout]      | |                          this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |                          `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  751 | |                     if self.sleep_or_control(delay, &mut control).await {
[INFO] [stdout]      | |                        ------------------------------------------------
[INFO] [stdout]      | |                        |
[INFO] [stdout]      | |                        this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                        `#11` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `session_res` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `output` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `futures_init` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `futures` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `ctrl` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ctrl` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ctrl` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/mutex.rs:701:1
[INFO] [stdout]      |
[INFO] [stdout]  701 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-supervisor/src/profile.rs:887:31
[INFO] [stdout]      |
[INFO] [stdout]  830 | /                     tokio::select! {
[INFO] [stdout]  831 | |                         msg = control.recv() => {
[INFO] [stdout]      | |                         ---
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         `msg` calls a custom destructor
[INFO] [stdout]      | |                         `msg` will be dropped later as of Edition 2024
[INFO] [stdout]  832 | |                             match msg {
[INFO] [stdout]  833 | |                                 None | Some(Control::Shutdown) => break ActiveDecision::ShutdownExit,
[INFO] [stdout] ...    |
[INFO] [stdout]  848 | |                                     let res = open_bench_forward(session.as_mut()).await;
[INFO] [stdout]      | |                                               ------------------------------------------
[INFO] [stdout]      | |                                               |                                    |
[INFO] [stdout]      | |                                               |                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                               |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                               `__awaitee` calls a custom destructor
[INFO] [stdout]      | |                                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  849 | |                                     let _ = reply.send(res);
[INFO] [stdout]      | |                                             ---------------
[INFO] [stdout]      | |                                             |
[INFO] [stdout]      | |                                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                                             `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  884 | |       /                             tokio::time::timeout(
[INFO] [stdout]  885 | |       |                                 self.cfg.keepalive_timeout,
[INFO] [stdout]  886 | |       |                                 probe_tcp_connect(self.current_endpoint.as_ref()),
[INFO] [stdout]  887 | |       |                             ).await
[INFO] [stdout]      | |       |                               ^^^^-
[INFO] [stdout]      | |       |                               |   |
[INFO] [stdout]      | |       |_______________________________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                       |   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                       up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  888 | |                                 }
[INFO] [stdout]      | |                                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  889 | |                                 HealthCheckStyle::SshAuthPreflight => {
[INFO] [stdout]  890 | |       /                             tokio::time::timeout(
[INFO] [stdout]  891 | |       |                                 self.cfg.keepalive_timeout,
[INFO] [stdout]  892 | |       |                                 session.preflight_connect(),
[INFO] [stdout]  893 | |       |                             ).await
[INFO] [stdout]      | |       |                                   -
[INFO] [stdout]      | |       |___________________________________|
[INFO] [stdout]      | |       |___________________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  896 | |       /                             tokio::time::timeout(
[INFO] [stdout]  897 | |       |                                 self.cfg.keepalive_timeout,
[INFO] [stdout]  898 | |       |                                 session.keepalive(),
[INFO] [stdout]  899 | |       |                             ).await
[INFO] [stdout]      | |       |                                   -
[INFO] [stdout]      | |       |___________________________________|
[INFO] [stdout]      | |       |___________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  902 | |       /                             tokio::time::timeout(
[INFO] [stdout]  903 | |       |                                 self.cfg.keepalive_timeout,
[INFO] [stdout]  904 | |       |                                 session.preflight_connect(),
[INFO] [stdout]  905 | |       |                             ).await
[INFO] [stdout]      | |       |                                   -
[INFO] [stdout]      | |       |___________________________________|
[INFO] [stdout]      | |       |___________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                           `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  990 | |       |                     self.reopen_failed_forwards(session.as_mut(), &mut forwards).await;
[INFO] [stdout]      | |       |                     ------------------------------------------------------------------
[INFO] [stdout]      | |       |                     |
[INFO] [stdout]      | |       |                     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |       |                     `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |       |
[INFO] [stdout] 1000 | |       |             }
[INFO] [stdout]      | |       |             -
[INFO] [stdout]      | |       |             |
[INFO] [stdout]      | |       |             `output` calls a custom destructor
[INFO] [stdout]      | |       |             `output` will be dropped later as of Edition 2024
[INFO] [stdout]      | |       |             `futures_init` calls a custom destructor
[INFO] [stdout]      | |       |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |       |             `futures` calls a custom destructor
[INFO] [stdout]      | |       |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]      | |_______|_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `futures_init` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `futures_init` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.32/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]      |
[INFO] [stdout]  575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.32/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]      |
[INFO] [stdout]  575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-supervisor/src/profile.rs:893:31
[INFO] [stdout]      |
[INFO] [stdout]  830 | /                     tokio::select! {
[INFO] [stdout]  831 | |                         msg = control.recv() => {
[INFO] [stdout]      | |                         ---
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         `msg` calls a custom destructor
[INFO] [stdout]      | |                         `msg` will be dropped later as of Edition 2024
[INFO] [stdout]  832 | |                             match msg {
[INFO] [stdout]  833 | |                                 None | Some(Control::Shutdown) => break ActiveDecision::ShutdownExit,
[INFO] [stdout] ...    |
[INFO] [stdout]  848 | |                                     let res = open_bench_forward(session.as_mut()).await;
[INFO] [stdout]      | |                                               ------------------------------------------
[INFO] [stdout]      | |                                               |                                    |
[INFO] [stdout]      | |                                               |                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                               |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                               `__awaitee` calls a custom destructor
[INFO] [stdout]      | |                                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  849 | |                                     let _ = reply.send(res);
[INFO] [stdout]      | |                                             ---------------
[INFO] [stdout]      | |                                             |
[INFO] [stdout]      | |                                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                                             `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  884 | |       /                             tokio::time::timeout(
[INFO] [stdout]  885 | |       |                                 self.cfg.keepalive_timeout,
[INFO] [stdout]  886 | |       |                                 probe_tcp_connect(self.current_endpoint.as_ref()),
[INFO] [stdout]  887 | |       |                             ).await
[INFO] [stdout]      | |       |                                   -
[INFO] [stdout]      | |       |                                   |
[INFO] [stdout]      | |       |___________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  890 | |       /                             tokio::time::timeout(
[INFO] [stdout]  891 | |       |                                 self.cfg.keepalive_timeout,
[INFO] [stdout]  892 | |       |                                 session.preflight_connect(),
[INFO] [stdout]  893 | |       |                             ).await
[INFO] [stdout]      | |       |                               ^^^^-
[INFO] [stdout]      | |       |_______________________________|___|
[INFO] [stdout]      | |       |_______________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                       |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                       up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  894 | |       |                         }
[INFO] [stdout]      | |       |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  895 | |       |                         HealthCheckStyle::SshHandshake => {
[INFO] [stdout]  896 | |       /                             tokio::time::timeout(
[INFO] [stdout]  897 | |       |                                 self.cfg.keepalive_timeout,
[INFO] [stdout]  898 | |       |                                 session.keepalive(),
[INFO] [stdout]  899 | |       |                             ).await
[INFO] [stdout]      | |       |                                   -
[INFO] [stdout]      | |       |___________________________________|
[INFO] [stdout]      | |       |___________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  902 | |       /                             tokio::time::timeout(
[INFO] [stdout]  903 | |       |                                 self.cfg.keepalive_timeout,
[INFO] [stdout]  904 | |       |                                 session.preflight_connect(),
[INFO] [stdout]  905 | |       |                             ).await
[INFO] [stdout]      | |       |                                   -
[INFO] [stdout]      | |       |___________________________________|
[INFO] [stdout]      | |       |___________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                           `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  990 | |       |                     self.reopen_failed_forwards(session.as_mut(), &mut forwards).await;
[INFO] [stdout]      | |       |                     ------------------------------------------------------------------
[INFO] [stdout]      | |       |                     |
[INFO] [stdout]      | |       |                     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |       |                     `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |       |
[INFO] [stdout] 1000 | |       |             }
[INFO] [stdout]      | |       |             -
[INFO] [stdout]      | |       |             |
[INFO] [stdout]      | |       |             `output` calls a custom destructor
[INFO] [stdout]      | |       |             `output` will be dropped later as of Edition 2024
[INFO] [stdout]      | |       |             `futures_init` calls a custom destructor
[INFO] [stdout]      | |       |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |       |             `futures` calls a custom destructor
[INFO] [stdout]      | |       |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]      | |_______|_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `futures_init` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `futures_init` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.32/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]      |
[INFO] [stdout]  575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.32/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]      |
[INFO] [stdout]  575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-supervisor/src/profile.rs:899:31
[INFO] [stdout]      |
[INFO] [stdout]  830 | /                     tokio::select! {
[INFO] [stdout]  831 | |                         msg = control.recv() => {
[INFO] [stdout]      | |                         ---
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         `msg` calls a custom destructor
[INFO] [stdout]      | |                         `msg` will be dropped later as of Edition 2024
[INFO] [stdout]  832 | |                             match msg {
[INFO] [stdout]  833 | |                                 None | Some(Control::Shutdown) => break ActiveDecision::ShutdownExit,
[INFO] [stdout] ...    |
[INFO] [stdout]  848 | |                                     let res = open_bench_forward(session.as_mut()).await;
[INFO] [stdout]      | |                                               ------------------------------------------
[INFO] [stdout]      | |                                               |                                    |
[INFO] [stdout]      | |                                               |                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                               |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                               `__awaitee` calls a custom destructor
[INFO] [stdout]      | |                                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  849 | |                                     let _ = reply.send(res);
[INFO] [stdout]      | |                                             ---------------
[INFO] [stdout]      | |                                             |
[INFO] [stdout]      | |                                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                                             `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  884 | |       /                             tokio::time::timeout(
[INFO] [stdout]  885 | |       |                                 self.cfg.keepalive_timeout,
[INFO] [stdout]  886 | |       |                                 probe_tcp_connect(self.current_endpoint.as_ref()),
[INFO] [stdout]  887 | |       |                             ).await
[INFO] [stdout]      | |       |                                   -
[INFO] [stdout]      | |       |                                   |
[INFO] [stdout]      | |       |___________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  890 | |       /                             tokio::time::timeout(
[INFO] [stdout]  891 | |       |                                 self.cfg.keepalive_timeout,
[INFO] [stdout]  892 | |       |                                 session.preflight_connect(),
[INFO] [stdout]  893 | |       |                             ).await
[INFO] [stdout]      | |       |                                   -
[INFO] [stdout]      | |       |___________________________________|
[INFO] [stdout]      | |       |___________________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  896 | |       /                             tokio::time::timeout(
[INFO] [stdout]  897 | |       |                                 self.cfg.keepalive_timeout,
[INFO] [stdout]  898 | |       |                                 session.keepalive(),
[INFO] [stdout]  899 | |       |                             ).await
[INFO] [stdout]      | |       |                               ^^^^-
[INFO] [stdout]      | |       |_______________________________|___|
[INFO] [stdout]      | |       |_______________________________|___this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                       |   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                       up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  900 | |       |                         }
[INFO] [stdout]      | |       |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  901 | |       |                         HealthCheckStyle::Ssh3Endpoint => {
[INFO] [stdout]  902 | |       /                             tokio::time::timeout(
[INFO] [stdout]  903 | |       |                                 self.cfg.keepalive_timeout,
[INFO] [stdout]  904 | |       |                                 session.preflight_connect(),
[INFO] [stdout]  905 | |       |                             ).await
[INFO] [stdout]      | |       |                                   -
[INFO] [stdout]      | |       |___________________________________|
[INFO] [stdout]      | |       |___________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                           `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  990 | |       |                     self.reopen_failed_forwards(session.as_mut(), &mut forwards).await;
[INFO] [stdout]      | |       |                     ------------------------------------------------------------------
[INFO] [stdout]      | |       |                     |
[INFO] [stdout]      | |       |                     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |       |                     `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |       |
[INFO] [stdout] 1000 | |       |             }
[INFO] [stdout]      | |       |             -
[INFO] [stdout]      | |       |             |
[INFO] [stdout]      | |       |             `output` calls a custom destructor
[INFO] [stdout]      | |       |             `output` will be dropped later as of Edition 2024
[INFO] [stdout]      | |       |             `futures_init` calls a custom destructor
[INFO] [stdout]      | |       |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |       |             `futures` calls a custom destructor
[INFO] [stdout]      | |       |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]      | |_______|_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `futures_init` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `futures_init` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.32/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]      |
[INFO] [stdout]  575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.32/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]      |
[INFO] [stdout]  575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-supervisor/src/profile.rs:905:31
[INFO] [stdout]      |
[INFO] [stdout]  830 | /                     tokio::select! {
[INFO] [stdout]  831 | |                         msg = control.recv() => {
[INFO] [stdout]      | |                         ---
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         `msg` calls a custom destructor
[INFO] [stdout]      | |                         `msg` will be dropped later as of Edition 2024
[INFO] [stdout]  832 | |                             match msg {
[INFO] [stdout]  833 | |                                 None | Some(Control::Shutdown) => break ActiveDecision::ShutdownExit,
[INFO] [stdout] ...    |
[INFO] [stdout]  848 | |                                     let res = open_bench_forward(session.as_mut()).await;
[INFO] [stdout]      | |                                               ------------------------------------------
[INFO] [stdout]      | |                                               |                                    |
[INFO] [stdout]      | |                                               |                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                               |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                               `__awaitee` calls a custom destructor
[INFO] [stdout]      | |                                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  849 | |                                     let _ = reply.send(res);
[INFO] [stdout]      | |                                             ---------------
[INFO] [stdout]      | |                                             |
[INFO] [stdout]      | |                                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                                             `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  884 | |       /                             tokio::time::timeout(
[INFO] [stdout]  885 | |       |                                 self.cfg.keepalive_timeout,
[INFO] [stdout]  886 | |       |                                 probe_tcp_connect(self.current_endpoint.as_ref()),
[INFO] [stdout]  887 | |       |                             ).await
[INFO] [stdout]      | |       |                                   -
[INFO] [stdout]      | |       |                                   |
[INFO] [stdout]      | |       |___________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  890 | |       /                             tokio::time::timeout(
[INFO] [stdout]  891 | |       |                                 self.cfg.keepalive_timeout,
[INFO] [stdout]  892 | |       |                                 session.preflight_connect(),
[INFO] [stdout]  893 | |       |                             ).await
[INFO] [stdout]      | |       |                                   -
[INFO] [stdout]      | |       |___________________________________|
[INFO] [stdout]      | |       |___________________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  896 | |       /                             tokio::time::timeout(
[INFO] [stdout]  897 | |       |                                 self.cfg.keepalive_timeout,
[INFO] [stdout]  898 | |       |                                 session.keepalive(),
[INFO] [stdout]  899 | |       |                             ).await
[INFO] [stdout]      | |       |                                   -
[INFO] [stdout]      | |       |___________________________________|
[INFO] [stdout]      | |       |___________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  902 | |       /                             tokio::time::timeout(
[INFO] [stdout]  903 | |       |                                 self.cfg.keepalive_timeout,
[INFO] [stdout]  904 | |       |                                 session.preflight_connect(),
[INFO] [stdout]  905 | |       |                             ).await
[INFO] [stdout]      | |       |                               ^^^^-
[INFO] [stdout]      | |       |_______________________________|___|
[INFO] [stdout]      | |       |_______________________________|___this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                       |   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                       up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  906 | |       |                         }
[INFO] [stdout]      | |       |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |       |
[INFO] [stdout]  990 | |       |                     self.reopen_failed_forwards(session.as_mut(), &mut forwards).await;
[INFO] [stdout]      | |       |                     ------------------------------------------------------------------
[INFO] [stdout]      | |       |                     |
[INFO] [stdout]      | |       |                     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |       |                     `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |       |
[INFO] [stdout] 1000 | |       |             }
[INFO] [stdout]      | |       |             -
[INFO] [stdout]      | |       |             |
[INFO] [stdout]      | |       |             `output` calls a custom destructor
[INFO] [stdout]      | |       |             `output` will be dropped later as of Edition 2024
[INFO] [stdout]      | |       |             `futures_init` calls a custom destructor
[INFO] [stdout]      | |       |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |       |             `futures` calls a custom destructor
[INFO] [stdout]      | |       |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]      | |_______|_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `futures_init` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `futures_init` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.32/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]      |
[INFO] [stdout]  575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.32/src/stream/futures_unordered/mod.rs:575:1
[INFO] [stdout]      |
[INFO] [stdout]  575 | impl<Fut> Drop for FuturesUnordered<Fut> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-supervisor/src/profile.rs:1269:19
[INFO] [stdout]      |
[INFO] [stdout] 1269 |             match ForwardRunner::start(f, session, &self.cfg.runner_cfg).await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                                                      |
[INFO] [stdout]      |                   |                                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   |                                                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                                                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1292 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-supervisor/src/profile.rs:1490:15
[INFO] [stdout]      |
[INFO] [stdout] 1488 |     for j in joins {
[INFO] [stdout]      |              -----
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 1489 |         let remaining = deadline.saturating_duration_since(tokio::time::Instant::now());
[INFO] [stdout] 1490 |         match tokio::time::timeout(remaining, j).await {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                                  |
[INFO] [stdout]      |               |                                  this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               |                                  up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |                                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |                                  `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1502 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-supervisor/src/testing.rs:282:61
[INFO] [stdout]      |
[INFO] [stdout]  282 |         match tokio::time::timeout(remaining, rx.changed()).await {
[INFO] [stdout]      |               ----------------------------------------------^^^^^
[INFO] [stdout]      |               |                                             |
[INFO] [stdout]      |               |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |                                             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  283 |             Ok(Ok(())) => {
[INFO] [stdout]  284 |                 if *rx.borrow() == target {
[INFO] [stdout]      |                     -----------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  299 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cargo-platform v0.1.9
[INFO] [stderr]    Migrating crates/spt-chaos-proxy/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking spt-dns v0.26.23 (/opt/rustwide/workdir/crates/spt-dns)
[INFO] [stderr]    Compiling camino v1.2.2
[INFO] [stderr]    Migrating crates/spt-mcp/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking spt-benchmark v0.26.23 (/opt/rustwide/workdir/crates/spt-benchmark)
[INFO] [stderr]     Checking spt-tui v0.26.23 (/opt/rustwide/workdir/crates/spt-tui)
[INFO] [stderr]     Checking spt-service v0.26.23 (/opt/rustwide/workdir/crates/spt-service)
[INFO] [stderr]     Checking xattr v1.6.1
[INFO] [stderr]     Checking filetime v0.2.27
[INFO] [stderr]    Compiling cargo_metadata v0.18.1
[INFO] [stderr]     Checking tar v0.4.45
[INFO] [stderr]    Compiling embed-resource v3.0.9
[INFO] [stderr]     Checking spt-cli v0.26.23 (/opt/rustwide/workdir/crates/spt-cli)
[INFO] [stderr]     Checking spt-status-api v0.26.23 (/opt/rustwide/workdir/crates/spt-status-api)
[INFO] [stderr]        Fixed crates/spt-mcp/src/tools.rs (1 fix)
[INFO] [stderr]    Migrating crates/spt-dns/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-mcp/src/server.rs:298:39
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let handler = self
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `handler` calls a custom destructor
[INFO] [stdout]     |             `handler` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 291 |         let ctx = ToolContext {
[INFO] [stdout]     |             ---
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `ctx` calls a custom destructor
[INFO] [stdout]     |             `ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 298 |         handler.call(&ctx, arguments).await
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 299 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `handler` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `ctx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-mcp/src/transport.rs:384:61
[INFO] [stdout]     |
[INFO] [stdout] 379 |     #[async_trait]
[INFO] [stdout]     |                  - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 382 |             let mut reader = BufReader::new(stdin());
[INFO] [stdout]     |                 ----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `reader` calls a custom destructor
[INFO] [stdout]     |                 `reader` will be dropped later as of Edition 2024
[INFO] [stdout] 383 |             let mut writer = stdout();
[INFO] [stdout]     |                 ----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `writer` calls a custom destructor
[INFO] [stdout]     |                 `writer` will be dropped later as of Edition 2024
[INFO] [stdout] 384 |             run_connection(inner, &mut reader, &mut writer).await
[INFO] [stdout]     |                                                             ^^^^^
[INFO] [stdout]     |                                                             |
[INFO] [stdout]     |                                                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `reader` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `writer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-mcp/src/transport.rs:456:22
[INFO] [stdout]     |
[INFO] [stdout] 449 |                     let (read_half, mut write_half) = stream.into_split();
[INFO] [stdout]     |                                     --------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     `write_half` calls a custom destructor
[INFO] [stdout]     |                                     `write_half` will be dropped later as of Edition 2024
[INFO] [stdout] 450 |                     let mut reader = BufReader::new(read_half);
[INFO] [stdout]     |                         ----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `reader` calls a custom destructor
[INFO] [stdout]     |                         `reader` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 456 |                     .await
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 460 |                 });
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `write_half` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/net/tcp/split_owned.rs:452:1
[INFO] [stdout]     |
[INFO] [stdout] 452 | impl Drop for OwnedWriteHalf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reader` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking cron v0.12.1
[INFO] [stderr]     Checking spt-firewall v0.26.23 (/opt/rustwide/workdir/crates/spt-firewall)
[INFO] [stderr]    Migrating crates/spt-benchmark/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking minisign-verify v0.2.5
[INFO] [stderr]    Migrating crates/spt-tui/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-benchmark/src/comparators/openssh.rs:223:15
[INFO] [stdout]      |
[INFO] [stdout]  223 |         match tokio::time::timeout(Duration::from_millis(200), TcpStream::connect(&addr)).await {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                                                                           |
[INFO] [stdout]      |               |                                                                           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               |                                                                           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |                                                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                                                                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  228 |             _ => tokio::time::sleep(Duration::from_millis(50)).await,
[INFO] [stdout]      |                  ---------------------------------------------------
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                  `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  229 |         }
[INFO] [stdout]  230 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling spt-bin v0.26.23 (/opt/rustwide/workdir/crates/spt-bin)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-benchmark/src/drivers/dns.rs:114:19
[INFO] [stdout]     |
[INFO] [stdout] 113 |         for h in handles {
[INFO] [stdout]     |                  -------
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 114 |             match h.await {
[INFO] [stdout]     |                   ^^-----
[INFO] [stdout]     |                   | |
[INFO] [stdout]     |                   | this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   | up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   | this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   | `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 120 |                 Err(e) => errors.push(format!("join: {e}")),
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] 121 |             }
[INFO] [stdout] 122 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking spt-winevent v0.26.23 (/opt/rustwide/workdir/crates/spt-winevent)
[INFO] [stderr]    Migrating crates/spt-service/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking roff v1.1.1
[INFO] [stderr]     Checking clap_mangen v0.3.0
[INFO] [stderr]     Checking spt-updater v0.26.23 (/opt/rustwide/workdir/crates/spt-updater)
[INFO] [stderr]    Migrating crates/spt-cli/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-service/src/runner.rs:91:55
[INFO] [stdout]      |
[INFO] [stdout]   73 | #[async_trait::async_trait]
[INFO] [stdout]      |                           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]   79 |         let mut cmd = Command::new(prog);
[INFO] [stdout]      |             -------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `cmd` calls a custom destructor
[INFO] [stdout]      |             `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   91 |         match tokio::time::timeout(timeout, wait_fut).await {
[INFO] [stdout]      |                                                       ^^^^^
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]      = note: `cmd` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking spt-remote-config v0.26.23 (/opt/rustwide/workdir/crates/spt-remote-config)
[INFO] [stderr]    Migrating crates/spt-status-api/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking console v0.16.3
[INFO] [stderr]     Checking similar v2.7.0
[INFO] [stderr]    Migrating crates/spt-firewall/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling tracing-test-macro v0.2.6
[INFO] [stderr]    Migrating crates/spt-bin/build.rs from 2021 edition to 2024
[INFO] [stderr]     Checking spt-e2e-tests v0.0.0 (/opt/rustwide/workdir/tests)
[INFO] [stderr]     Checking tracing-test v0.2.6
[INFO] [stderr]     Checking insta v1.47.2
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking rusty-fork v0.3.1
[INFO] [stderr]    Migrating crates/spt-winevent/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking cfb-mode v0.8.2
[INFO] [stderr]    Migrating crates/spt-updater/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]     Checking proptest v1.11.0
[INFO] [stderr]     Checking spt-snmp v0.26.23 (/opt/rustwide/workdir/crates/spt-snmp)
[INFO] [stderr]     Checking stress v0.0.0 (/opt/rustwide/workdir/tests/stress)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-updater/src/source.rs:100:29
[INFO] [stdout]     |
[INFO] [stdout]  98 |             let mut headers = reqwest::header::HeaderMap::new();
[INFO] [stdout]     |                 -----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `headers` calls a custom destructor
[INFO] [stdout]     |                 `headers` will be dropped later as of Edition 2024
[INFO] [stdout]  99 |             let value = format!("Bearer {token}");
[INFO] [stdout] 100 |             if let Ok(hv) = reqwest::header::HeaderValue::from_str(&value) {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 104 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `headers` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/spt-remote-config/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking spt-conformance-tests v0.0.0 (/opt/rustwide/workdir/tests/conformance)
[INFO] [stderr]    Migrating tests/support/mod.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-remote-config/src/fetch.rs:230:44
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let fetcher = fetcher_for_plan(plan)?;
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `fetcher` calls a custom destructor
[INFO] [stdout]     |         `fetcher` will be dropped later as of Edition 2024
[INFO] [stdout] 230 |     fetch(&plan.spec, state_dir, &fetcher).await
[INFO] [stdout]     |                                            ^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 231 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `fetcher` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `fetcher` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `fetcher` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `fetcher` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `fetcher` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-remote-config/src/http.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = stream
[INFO] [stdout]     |  __________________________-----____^
[INFO] [stdout]     | |  ________________________|________|
[INFO] [stdout]     | | |                        |
[INFO] [stdout]     | | |                        `chunk` calls a custom destructor
[INFO] [stdout]     | | |                        `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 151 | | |             .chunk()
[INFO] [stdout] 152 | | |             .await
[INFO] [stdout]     | | |              -----
[INFO] [stdout]     | | |              |   |
[INFO] [stdout]     | | |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     | |                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 153 | |               .map_err(|e| HttpError::Transport(e.to_string()))?
[INFO] [stdout]     | |                                                                ^
[INFO] [stdout]     | |                                                                |
[INFO] [stdout]     | |                                                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                  up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 159 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/spt-snmp/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/spt-snmp/src/agent.rs (1 fix)
[INFO] [stderr]    Migrating tests/stress/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-snmp/src/agent.rs:657:19
[INFO] [stdout]     |
[INFO] [stdout] 657 |             match self.registry.scalar(&vb.name) { Some(h) => {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        -
[INFO] [stdout]     |                   |                                     |
[INFO] [stdout]     |                   |                                     `h` calls a custom destructor
[INFO] [stdout]     |                   |                                     `h` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 658 |                 let outcome = h.set(vb.value.clone()).await;
[INFO] [stdout]     |                               -----------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 669 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `h` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/conformance/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-config/tests/policy_bindings.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-tui/tests/snapshot.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-tui/tests/pages_keyboard.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-snmp/tests/agent_integration.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-snmp/src/agent.rs:657:19
[INFO] [stdout]     |
[INFO] [stdout] 657 |             match self.registry.scalar(&vb.name) { Some(h) => {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        -
[INFO] [stdout]     |                   |                                     |
[INFO] [stdout]     |                   |                                     `h` calls a custom destructor
[INFO] [stdout]     |                   |                                     `h` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 658 |                 let outcome = h.set(vb.value.clone()).await;
[INFO] [stdout]     |                               -----------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 669 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `h` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/spt-snmp/tests/proptest_codec.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/conformance/tests/matrix.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-snmp/tests/agent_get.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-cli/tests/help_snapshots.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-cli/tests/parse_firewall_log.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/spt-cli/tests/help_snapshots.rs (1 fix)
[INFO] [stderr]    Migrating crates/spt-service/tests/windows_scm_mock.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/spt-service/src/systemd_user.rs (6 fixes)
[INFO] [stderr]        Fixed crates/spt-service/src/launchd.rs (5 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-service/src/runner.rs:91:55
[INFO] [stdout]      |
[INFO] [stdout]   73 | #[async_trait::async_trait]
[INFO] [stdout]      |                           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]   79 |         let mut cmd = Command::new(prog);
[INFO] [stdout]      |             -------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `cmd` calls a custom destructor
[INFO] [stdout]      |             `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   91 |         match tokio::time::timeout(timeout, wait_fut).await {
[INFO] [stdout]      |                                                       ^^^^^
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]      = note: `cmd` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed crates/spt-core/src/path.rs (11 fixes)
[INFO] [stderr]    Migrating crates/spt-tui/tests/pages_snapshots.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-config/tests/examples.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-config/src/load.rs:146:28
[INFO] [stdout]     |
[INFO] [stdout] 143 |             let pp = spt_secrets::read_passphrase("sealed config passphrase: ")?;
[INFO] [stdout]     |                 --
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `pp` calls a custom destructor
[INFO] [stdout]     |                 `pp` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 146 |             unseal(bytes, &KeySource::Passphrase(bytes_pp))
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 147 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/secrecy-0.10.3/src/lib.rs:68:1
[INFO] [stdout]     |
[INFO] [stdout]  68 | impl<S: Zeroize + ?Sized> Drop for SecretBox<S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pp` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/secrecy-0.10.3/src/lib.rs:68:1
[INFO] [stdout]     |
[INFO] [stdout]  68 | impl<S: Zeroize + ?Sized> Drop for SecretBox<S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking russh v0.61.2
[INFO] [stderr]    Migrating crates/spt-winevent/tests/mock_backend.rs from 2021 edition to 2024
[INFO] [stderr]     Checking rcgen v0.13.2
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-updater/src/source.rs:100:29
[INFO] [stdout]     |
[INFO] [stdout]  98 |             let mut headers = reqwest::header::HeaderMap::new();
[INFO] [stdout]     |                 -----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `headers` calls a custom destructor
[INFO] [stdout]     |                 `headers` will be dropped later as of Edition 2024
[INFO] [stdout]  99 |             let value = format!("Bearer {token}");
[INFO] [stdout] 100 |             if let Ok(hv) = reqwest::header::HeaderValue::from_str(&value) {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 104 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `headers` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/spt-benchmark/src/bin/matrix_cell.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-benchmark/tests/comparators.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-dns/tests/it_leak_dns.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-ssh3/tests/serve_endpoint.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-dns/src/lib.rs:312:18
[INFO] [stdout]     |
[INFO] [stdout] 308 |             let resolver =
[INFO] [stdout]     |                 --------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `resolver` calls a custom destructor
[INFO] [stdout]     |                 `resolver` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 312 |                 .await
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 318 |         });
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `resolver` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.32/src/future/future/shared.rs:383:1
[INFO] [stdout]     |
[INFO] [stdout] 383 | / impl<Fut> Drop for Shared<Fut>
[INFO] [stdout] 384 | | where
[INFO] [stdout] 385 | |     Fut: Future,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `resolver` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/task/join_set.rs:591:1
[INFO] [stdout]     |
[INFO] [stdout] 591 | impl<T> Drop for JoinSet<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `resolver` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/mpsc/mod.rs:980:1
[INFO] [stdout]     |
[INFO] [stdout] 980 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `resolver` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/moka-0.12.15/src/cht/segment.rs:525:1
[INFO] [stdout]     |
[INFO] [stdout] 525 | impl<K, V, S> Drop for HashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `resolver` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/moka-0.12.15/src/sync/base_cache.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl<K, V, S> Drop for BaseCache<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/spt-ssh3/tests/e2e_forward.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-trust/tests/tls_pin_edge_cases.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-observability/tests/syslog_tls_mock.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-remote-config/src/fetch.rs:230:44
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let fetcher = fetcher_for_plan(plan)?;
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `fetcher` calls a custom destructor
[INFO] [stdout]     |         `fetcher` will be dropped later as of Edition 2024
[INFO] [stdout] 230 |     fetch(&plan.spec, state_dir, &fetcher).await
[INFO] [stdout]     |                                            ^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 231 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `fetcher` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `fetcher` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `fetcher` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `fetcher` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `fetcher` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-remote-config/src/http.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = stream
[INFO] [stdout]     |  __________________________-----____^
[INFO] [stdout]     | |  ________________________|________|
[INFO] [stdout]     | | |                        |
[INFO] [stdout]     | | |                        `chunk` calls a custom destructor
[INFO] [stdout]     | | |                        `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 151 | | |             .chunk()
[INFO] [stdout] 152 | | |             .await
[INFO] [stdout]     | | |              -----
[INFO] [stdout]     | | |              |   |
[INFO] [stdout]     | | |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     | |                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 153 | |               .map_err(|e| HttpError::Transport(e.to_string()))?
[INFO] [stdout]     | |                                                                ^
[INFO] [stdout]     | |                                                                |
[INFO] [stdout]     | |                                                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                  up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 159 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/spt-ssh3/tests/transport_duplex.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-observability/tests/init_layers.rs from 2021 edition to 2024
[INFO] [stderr]     Checking spt-ssh2 v0.26.23 (/opt/rustwide/workdir/crates/spt-ssh2)
[INFO] [stderr]    Migrating crates/spt-ssh3/tests/uds_forward.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-observability/src/syslog_tcp.rs:126:52
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let mut stream = connect(cfg).await?;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stream` calls a custom destructor
[INFO] [stdout]     |         `stream` will be dropped later as of Edition 2024
[INFO] [stdout] 126 |     write_frame(&mut stream, payload, cfg.timeout).await
[INFO] [stdout]     |                                                    ^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 127 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-observability/src/syslog_tls.rs:384:52
[INFO] [stdout]     |
[INFO] [stdout] 382 |     let connector = TlsConnector::from(Arc::new(client_cfg));
[INFO] [stdout]     |         ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `connector` calls a custom destructor
[INFO] [stdout]     |         `connector` will be dropped later as of Edition 2024
[INFO] [stdout] 383 |     let mut stream = connect(&connector, cfg).await?;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stream` calls a custom destructor
[INFO] [stdout]     |         `stream` will be dropped later as of Edition 2024
[INFO] [stdout] 384 |     write_frame(&mut stream, payload, cfg.timeout).await
[INFO] [stdout]     |                                                    ^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 385 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `connector` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/crypto/tls13.rs:248:1
[INFO] [stdout]     |
[INFO] [stdout] 248 | impl Drop for OkmBlock {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `stream` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed crates/spt-ssh3/src/protocol.rs (6 fixes)
[INFO] [stderr]    Migrating crates/spt-ssh3/tests/remote_udp.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/spt-ssh3/src/auth_header.rs (19 fixes)
[INFO] [stderr]        Fixed crates/spt-ssh3/src/transport.rs (12 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ssh3/src/forward.rs:396:34
[INFO] [stdout]     |
[INFO] [stdout] 395 |         let mut g = control_send.lock().await;
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `g` calls a custom destructor
[INFO] [stdout]     |             `g` will be dropped later as of Edition 2024
[INFO] [stdout] 396 |         req.write_async(&mut *g).await
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 397 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `g` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/forward.rs:406:14
[INFO] [stdout]      |
[INFO] [stdout]  404 |         let mut g = control_recv.lock().await;
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `g` calls a custom destructor
[INFO] [stdout]      |             `g` will be dropped later as of Edition 2024
[INFO] [stdout]  405 |         tokio::time::timeout(OPEN_TIMEOUT, Ssh3Frame::read_async(&mut *g))
[INFO] [stdout]  406 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  407 |             .map_err(|_| Error::RuntimeFailure("ssh3 tcpip-forward: timeout".into()))?
[INFO] [stdout]  408 |     };
[INFO] [stdout]      |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `g` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ssh3/src/forward.rs:614:39
[INFO] [stdout]     |
[INFO] [stdout] 614 |             while let Some(payload) = inbound_rx.recv().await {
[INFO] [stdout]     |                            -------    ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                            |          |                 |
[INFO] [stdout]     |                            |          |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                            |          |                 up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |          |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |          |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                            |          up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |          `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `payload` calls a custom destructor
[INFO] [stdout]     |                            `payload` will be dropped later as of Edition 2024
[INFO] [stdout] 615 |                 let peer = {
[INFO] [stdout] 616 |                     let g = inbound_peer.lock().await;
[INFO] [stdout]     |                         -   -------------------------
[INFO] [stdout]     |                         |   |                   |
[INFO] [stdout]     |                         |   |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         |   |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `g` calls a custom destructor
[INFO] [stdout]     |                         `g` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 620 |                     if let Err(e) = socket_send.send_to(&payload, peer).await {
[INFO] [stdout]     |                                     -----------------------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                     `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 626 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `payload` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `g` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/forward.rs:1091:34
[INFO] [stdout]      |
[INFO] [stdout] 1090 |         let mut g = control_send.lock().await;
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `g` calls a custom destructor
[INFO] [stdout]      |             `g` will be dropped later as of Edition 2024
[INFO] [stdout] 1091 |         req.write_async(&mut *g).await
[INFO] [stdout]      |                                  ^^^^^
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1092 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `g` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/forward.rs:1101:14
[INFO] [stdout]      |
[INFO] [stdout] 1099 |         let mut g = control_recv.lock().await;
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `g` calls a custom destructor
[INFO] [stdout]      |             `g` will be dropped later as of Edition 2024
[INFO] [stdout] 1100 |         tokio::time::timeout(OPEN_TIMEOUT, Ssh3Frame::read_async(&mut *g))
[INFO] [stdout] 1101 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1102 |             .map_err(|_| Error::RuntimeFailure("ssh3 remote-uds: timeout".into()))?
[INFO] [stdout] 1103 |     };
[INFO] [stdout]      |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `g` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/forward.rs:1271:18
[INFO] [stdout]      |
[INFO] [stdout] 1261 |                   let mut g = control_send.lock().await;
[INFO] [stdout]      |                       -----
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `g` calls a custom destructor
[INFO] [stdout]      |                       `g` will be dropped later as of Edition 2024
[INFO] [stdout] 1262 | /                 Ssh3Frame::new(
[INFO] [stdout] 1263 | |                     Ssh3FrameKind::ForwardOpenResponse,
[INFO] [stdout] 1264 | |                     ForwardOpenResponse {
[INFO] [stdout] 1265 | |                         ok: false,
[INFO] [stdout] ...    |
[INFO] [stdout] 1268 | |                     .encode(),
[INFO] [stdout] 1269 | |                 )
[INFO] [stdout]      | |                 -
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |_________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1270 |                   .write_async(&mut *g)
[INFO] [stdout] 1271 |                   .await
[INFO] [stdout]      |                    ^^^^^
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1272 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `g` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/forward.rs:1289:10
[INFO] [stdout]      |
[INFO] [stdout] 1279 |           let mut g = control_send.lock().await;
[INFO] [stdout]      |               -----
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `g` calls a custom destructor
[INFO] [stdout]      |               `g` will be dropped later as of Edition 2024
[INFO] [stdout] 1280 | /         Ssh3Frame::new(
[INFO] [stdout] 1281 | |             Ssh3FrameKind::ForwardOpenResponse,
[INFO] [stdout] 1282 | |             ForwardOpenResponse {
[INFO] [stdout] 1283 | |                 ok: true,
[INFO] [stdout] ...    |
[INFO] [stdout] 1286 | |             .encode(),
[INFO] [stdout] 1287 | |         )
[INFO] [stdout]      | |         -
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1288 |           .write_async(&mut *g)
[INFO] [stdout] 1289 |           .await
[INFO] [stdout]      |            ^^^^^
[INFO] [stdout]      |            |
[INFO] [stdout]      |            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1290 |       }
[INFO] [stdout]      |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `g` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/forward.rs:1527:39
[INFO] [stdout]      |
[INFO] [stdout] 1527 |               while let Some(payload) = inbound_rx.recv().await {
[INFO] [stdout]      |                              -------    ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                              |          |                 |
[INFO] [stdout]      |                              |          |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                              |          |                 up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              |          |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              |          |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              |          this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                              |          up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              |          `__awaitee` calls a custom destructor
[INFO] [stdout]      |                              |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              `payload` calls a custom destructor
[INFO] [stdout]      |                              `payload` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1533 |                   let Ok(permit) = inflight.clone().try_acquire_owned() else {
[INFO] [stdout]      |                          ------    ------------------------------------
[INFO] [stdout]      |                          |         |
[INFO] [stdout]      |                          |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                          |         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          `permit` calls a custom destructor
[INFO] [stdout]      |                          `permit` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1544 |                   let sock = match UdpSocket::bind(("0.0.0.0", 0)).await {
[INFO] [stdout]      |                       ----         -------------------------------------
[INFO] [stdout]      |                       |            |                               |
[INFO] [stdout]      |                       |            |                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                       |            |                               `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       |            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                       |            `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       |            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       |            `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       `sock` calls a custom destructor
[INFO] [stdout]      |                       `sock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1555 |                   if let Err(e) = sock.send_to(&payload, &dial_target).await {
[INFO] [stdout]      |                                   ------------------------------------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                   `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1567 | /                 tokio::spawn(async move {
[INFO] [stdout] 1568 | |                     // Permit released when this reply task finishes.
[INFO] [stdout] 1569 | |                     let _permit = permit;
[INFO] [stdout] 1570 | |                     let r = tokio::time::timeout(
[INFO] [stdout] ...    |
[INFO] [stdout] 1581 | |                 });
[INFO] [stdout]      | |                  -
[INFO] [stdout]      | |                  |
[INFO] [stdout]      | |__________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                    `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 1582 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `payload` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `permit` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sock` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/forward.rs:1610:27
[INFO] [stdout]      |
[INFO] [stdout] 1609 |         let body = payload.slice(4..);
[INFO] [stdout]      |             ----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `body` calls a custom destructor
[INFO] [stdout]      |             `body` will be dropped later as of Edition 2024
[INFO] [stdout] 1610 |         if let Some(tx) = state.udp_flows.get(&flow_id) {
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1613 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `body` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/forward.rs:1604:29
[INFO] [stdout]      |
[INFO] [stdout] 1604 |     while let Ok(payload) = conn.read_datagram().await {
[INFO] [stdout]      |                  -------    ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                  |          |                    |
[INFO] [stdout]      |                  |          |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                  |          |                    up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                  |          |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  |          |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                  |          up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                  |          `__awaitee` calls a custom destructor
[INFO] [stdout]      |                  |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  `payload` calls a custom destructor
[INFO] [stdout]      |                  `payload` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1609 |         let body = payload.slice(4..);
[INFO] [stdout]      |             ----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `body` calls a custom destructor
[INFO] [stdout]      |             `body` will be dropped later as of Edition 2024
[INFO] [stdout] 1610 |         if let Some(tx) = state.udp_flows.get(&flow_id) {
[INFO] [stdout]      |                     --
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `tx` calls a custom destructor
[INFO] [stdout]      |                     `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 1611 |             let _ = tx.value().send(body);
[INFO] [stdout]      |                     ---------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 1612 |         }
[INFO] [stdout] 1613 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `payload` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `body` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/forward.rs:1735:35
[INFO] [stdout]      |
[INFO] [stdout] 1735 |         while let Some(payload) = reply_rx.recv().await {
[INFO] [stdout]      |                        -------    ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                        |          |               |
[INFO] [stdout]      |                        |          |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                        |          |               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        |          |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        |          |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        |          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                        |          up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        |          `__awaitee` calls a custom destructor
[INFO] [stdout]      |                        |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        `payload` calls a custom destructor
[INFO] [stdout]      |                        `payload` will be dropped later as of Edition 2024
[INFO] [stdout] 1736 |             let peer = {
[INFO] [stdout] 1737 |                 let g = inbound_peer.lock().await;
[INFO] [stdout]      |                     -   -------------------------
[INFO] [stdout]      |                     |   |                   |
[INFO] [stdout]      |                     |   |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                     |   |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     `g` calls a custom destructor
[INFO] [stdout]      |                     `g` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1741 |                 if let Err(e) = inbound_socket.send_to(&payload, peer).await {
[INFO] [stdout]      |                                 --------------------------------------------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1745 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `payload` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `g` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/session.rs:197:27
[INFO] [stdout]      |
[INFO] [stdout]  197 |                     match conn.accept_bi().await {
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                           |                |
[INFO] [stdout]      |                           |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                           |                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                           |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                           |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                           `__awaitee` calls a custom destructor
[INFO] [stdout]      |                           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  200 |                             tokio::spawn(forward::dispatch_inbound_bidi(st, send, recv));
[INFO] [stdout]      |                             ------------------------------------------------------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  201 |                         }
[INFO] [stdout]  202 |                         Err(e) => {
[INFO] [stdout]      |                             -
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `e` calls a custom destructor
[INFO] [stdout]      |                             `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  207 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/session.rs:231:35
[INFO] [stdout]      |
[INFO] [stdout]  230 |                             let body = payload.slice(4..);
[INFO] [stdout]      |                                 ----
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 `body` calls a custom destructor
[INFO] [stdout]      |                                 `body` will be dropped later as of Edition 2024
[INFO] [stdout]  231 |                             match state2.udp_flows.get(&flow_id) { Some(tx) => {
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  240 |                         }
[INFO] [stdout]      |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `body` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/src/session.rs:217:27
[INFO] [stdout]      |
[INFO] [stdout]  217 |                     match conn.read_datagram().await {
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                           |                    |
[INFO] [stdout]      |                           |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                           |                    up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                           |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                           |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                           `__awaitee` calls a custom destructor
[INFO] [stdout]      |                           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  218 |                         Ok(payload) => {
[INFO] [stdout]      |                            -------
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            `payload` calls a custom destructor
[INFO] [stdout]      |                            `payload` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  230 |                             let body = payload.slice(4..);
[INFO] [stdout]      |                                 ----
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 `body` calls a custom destructor
[INFO] [stdout]      |                                 `body` will be dropped later as of Edition 2024
[INFO] [stdout]  231 |                             match state2.udp_flows.get(&flow_id) { Some(tx) => {
[INFO] [stdout]      |                                                                         --
[INFO] [stdout]      |                                                                         |
[INFO] [stdout]      |                                                                         `tx` calls a custom destructor
[INFO] [stdout]      |                                                                         `tx` will be dropped later as of Edition 2024
[INFO] [stdout]  232 |                                 let _ = tx.value().send(body);
[INFO] [stdout]      |                                         ---------------------
[INFO] [stdout]      |                                         |
[INFO] [stdout]      |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  241 |                         Err(e) => {
[INFO] [stdout]      |                             -
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `e` calls a custom destructor
[INFO] [stdout]      |                             `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  246 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `payload` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `body` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/spt-status-api/tests/tls_handshake.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-ssh2/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ssh2/src/agent.rs:226:37
[INFO] [stdout]     |
[INFO] [stdout] 219 |         let mut guard = self.inner.lock().await;
[INFO] [stdout]     |             ---------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `guard` calls a custom destructor
[INFO] [stdout]     |             `guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 226 |         client.request_identities().await.map_err(|e| {
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 232 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `guard` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ssh2/src/agent.rs:255:14
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let mut guard = self.inner.lock().await;
[INFO] [stdout]     |             ---------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `guard` calls a custom destructor
[INFO] [stdout]     |             `guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 255 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 256 |             .map_err(|e| Error::AuthFailed(format!("ssh-agent ({}): sign: {e}", self.transport)))
[INFO] [stdout] 257 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `guard` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ssh2/src/multi_hop.rs:67:14
[INFO] [stdout]     |
[INFO] [stdout]  65 |         let h = outer.lock().await;
[INFO] [stdout]     |             -
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `h` calls a custom destructor
[INFO] [stdout]     |             `h` will be dropped later as of Edition 2024
[INFO] [stdout]  66 |         h.channel_open_direct_tcpip(host.to_owned(), u32::from(port), "127.0.0.1", 0)
[INFO] [stdout]  67 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |     };
[INFO] [stdout]     |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `h` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ssh2/src/multi_hop.rs:158:14
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let h = outer.lock().await;
[INFO] [stdout]     |             -
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `h` calls a custom destructor
[INFO] [stdout]     |             `h` will be dropped later as of Edition 2024
[INFO] [stdout] 157 |         h.channel_open_direct_tcpip(proxy_host.to_owned(), u32::from(proxy_port), "127.0.0.1", 0)
[INFO] [stdout] 158 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 175 |     };
[INFO] [stdout]     |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `h` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/protocol.rs:416:36
[INFO] [stdout]      |
[INFO] [stdout]  403 |         let session = crate::russh_backend::connect(
[INFO] [stdout]      |             -------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `session` calls a custom destructor
[INFO] [stdout]      |             `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  416 |         session.open_sftp_client().await
[INFO] [stdout]      |                                    ^^^^^
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  417 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `session` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/russh-0.61.2/src/client/mod.rs:269:1
[INFO] [stdout]      |
[INFO] [stdout]  269 | impl<H: Handler> Drop for Handle<H> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:1127:18
[INFO] [stdout]      |
[INFO] [stdout] 1124 |             let handle = self.handle.lock().await;
[INFO] [stdout]      |                 ------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `handle` calls a custom destructor
[INFO] [stdout]      |                 `handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1127 |                 .await
[INFO] [stdout]      |                  ^^^^^
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1128 |                 .map_err(|e| Error::RuntimeFailure(format!("russh sftp session channel: {e}")))?
[INFO] [stdout] 1129 |         };
[INFO] [stdout]      |          - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `handle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:1619:18
[INFO] [stdout]      |
[INFO] [stdout] 1616 |             let mut h = handle.lock().await;
[INFO] [stdout]      |                 -----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `h` calls a custom destructor
[INFO] [stdout]      |                 `h` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1619 |                 .await
[INFO] [stdout]      |                  ^^^^^
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1636 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `h` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:1649:18
[INFO] [stdout]      |
[INFO] [stdout] 1646 |             let mut h = handle.lock().await;
[INFO] [stdout]      |                 -----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `h` calls a custom destructor
[INFO] [stdout]      |                 `h` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1649 |                 .await
[INFO] [stdout]      |                  ^^^^^
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1666 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `h` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:1680:18
[INFO] [stdout]      |
[INFO] [stdout] 1677 |             let mut h = handle.lock().await;
[INFO] [stdout]      |                 -----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `h` calls a custom destructor
[INFO] [stdout]      |                 `h` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1680 |                 .await
[INFO] [stdout]      |                  ^^^^^
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1698 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `h` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:1825:14
[INFO] [stdout]      |
[INFO] [stdout] 1822 |         let mut client = listing_client;
[INFO] [stdout]      |             ----------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `client` calls a custom destructor
[INFO] [stdout]      |             `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1825 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1826 |             .map_err(|e| Error::AuthFailed(format!("ssh-agent: request_identities: {e}")))?
[INFO] [stdout] 1827 |     };
[INFO] [stdout]      |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:1939:10
[INFO] [stdout]      |
[INFO] [stdout] 1937 |     let mut h = handle.lock().await;
[INFO] [stdout]      |         -----
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `h` calls a custom destructor
[INFO] [stdout]      |         `h` will be dropped later as of Edition 2024
[INFO] [stdout] 1938 |     h.authenticate_publickey_with(user, public_key, RSA_AUTH_HASH_ALG, signer)
[INFO] [stdout] 1939 |         .await
[INFO] [stdout]      |          ^^^^^
[INFO] [stdout]      |          |
[INFO] [stdout]      |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1942 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `h` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:2291:14
[INFO] [stdout]      |
[INFO] [stdout] 2283 |         let handle = handle.lock().await;
[INFO] [stdout]      |             ------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `handle` calls a custom destructor
[INFO] [stdout]      |             `handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2291 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 2292 |             .map_err(|e| Error::RuntimeFailure(format!("russh direct-tcpip: {e}")))?
[INFO] [stdout] 2293 |     };
[INFO] [stdout]      |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `handle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:2329:14
[INFO] [stdout]      |
[INFO] [stdout] 2321 |         let handle = handle.lock().await;
[INFO] [stdout]      |             ------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `handle` calls a custom destructor
[INFO] [stdout]      |             `handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2329 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 2330 |     };
[INFO] [stdout]      |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `handle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:2378:15
[INFO] [stdout]      |
[INFO] [stdout] 2377 |           let handle = handle.lock().await;
[INFO] [stdout]      |               ------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `handle` calls a custom destructor
[INFO] [stdout]      |               `handle` will be dropped later as of Edition 2024
[INFO] [stdout] 2378 |           match handle
[INFO] [stdout]      |  _______________^
[INFO] [stdout] 2379 | |             .tcpip_forward(address.clone(), u32::from(requested_port))
[INFO] [stdout] 2380 | |             .await
[INFO] [stdout]      | |              ----^
[INFO] [stdout]      | |              |   |
[INFO] [stdout]      | |______________|___this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                |   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2392 |       };
[INFO] [stdout]      |        - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `handle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:2380:14
[INFO] [stdout]      |
[INFO] [stdout] 2377 |         let handle = handle.lock().await;
[INFO] [stdout]      |             ------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `handle` calls a custom destructor
[INFO] [stdout]      |             `handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2380 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2392 |     };
[INFO] [stdout]      |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `handle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ssh2/src/uds_forward.rs:220:14
[INFO] [stdout]     |
[INFO] [stdout] 217 |         let handle = handle.lock().await;
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `handle` calls a custom destructor
[INFO] [stdout]     |             `handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 220 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 224 |     };
[INFO] [stdout]     |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `handle` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ssh2/src/uds_forward.rs:301:68
[INFO] [stdout]     |
[INFO] [stdout] 300 |             let g = self.handle.lock().await;
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `g` calls a custom destructor
[INFO] [stdout]     |                 `g` will be dropped later as of Edition 2024
[INFO] [stdout] 301 |             g.cancel_streamlocal_forward(self.socket_path.clone()).await
[INFO] [stdout]     |                                                                    ^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 302 |         };
[INFO] [stdout]     |          - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `g` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:1449:14
[INFO] [stdout]      |
[INFO] [stdout] 1283 | #[async_trait]
[INFO] [stdout]      |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 1446 |         let handle = self.handle.lock().await;
[INFO] [stdout]      |             ------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `handle` calls a custom destructor
[INFO] [stdout]      |             `handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1449 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `handle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking spt-ftp-translator v0.26.23 (/opt/rustwide/workdir/crates/spt-ftp-translator)
[INFO] [stderr]        Fixed crates/spt-ssh2/src/testing.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ssh2/src/agent.rs:226:37
[INFO] [stdout]     |
[INFO] [stdout] 219 |         let mut guard = self.inner.lock().await;
[INFO] [stdout]     |             ---------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `guard` calls a custom destructor
[INFO] [stdout]     |             `guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 226 |         client.request_identities().await.map_err(|e| {
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 232 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `guard` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ssh2/src/agent.rs:255:14
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let mut guard = self.inner.lock().await;
[INFO] [stdout]     |             ---------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `guard` calls a custom destructor
[INFO] [stdout]     |             `guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 255 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 256 |             .map_err(|e| Error::AuthFailed(format!("ssh-agent ({}): sign: {e}", self.transport)))
[INFO] [stdout] 257 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `guard` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ssh2/src/multi_hop.rs:67:14
[INFO] [stdout]     |
[INFO] [stdout]  65 |         let h = outer.lock().await;
[INFO] [stdout]     |             -
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `h` calls a custom destructor
[INFO] [stdout]     |             `h` will be dropped later as of Edition 2024
[INFO] [stdout]  66 |         h.channel_open_direct_tcpip(host.to_owned(), u32::from(port), "127.0.0.1", 0)
[INFO] [stdout]  67 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |     };
[INFO] [stdout]     |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `h` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ssh2/src/multi_hop.rs:158:14
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let h = outer.lock().await;
[INFO] [stdout]     |             -
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `h` calls a custom destructor
[INFO] [stdout]     |             `h` will be dropped later as of Edition 2024
[INFO] [stdout] 157 |         h.channel_open_direct_tcpip(proxy_host.to_owned(), u32::from(proxy_port), "127.0.0.1", 0)
[INFO] [stdout] 158 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 175 |     };
[INFO] [stdout]     |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `h` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed crates/spt-ssh2/src/secret.rs (5 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/protocol.rs:416:36
[INFO] [stdout]      |
[INFO] [stdout]  403 |         let session = crate::russh_backend::connect(
[INFO] [stdout]      |             -------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `session` calls a custom destructor
[INFO] [stdout]      |             `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  416 |         session.open_sftp_client().await
[INFO] [stdout]      |                                    ^^^^^
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  417 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `session` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/russh-0.61.2/src/client/mod.rs:269:1
[INFO] [stdout]      |
[INFO] [stdout]  269 | impl<H: Handler> Drop for Handle<H> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:1127:18
[INFO] [stdout]      |
[INFO] [stdout] 1124 |             let handle = self.handle.lock().await;
[INFO] [stdout]      |                 ------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `handle` calls a custom destructor
[INFO] [stdout]      |                 `handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1127 |                 .await
[INFO] [stdout]      |                  ^^^^^
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1128 |                 .map_err(|e| Error::RuntimeFailure(format!("russh sftp session channel: {e}")))?
[INFO] [stdout] 1129 |         };
[INFO] [stdout]      |          - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `handle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:1619:18
[INFO] [stdout]      |
[INFO] [stdout] 1616 |             let mut h = handle.lock().await;
[INFO] [stdout]      |                 -----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `h` calls a custom destructor
[INFO] [stdout]      |                 `h` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1619 |                 .await
[INFO] [stdout]      |                  ^^^^^
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1636 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `h` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:1649:18
[INFO] [stdout]      |
[INFO] [stdout] 1646 |             let mut h = handle.lock().await;
[INFO] [stdout]      |                 -----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `h` calls a custom destructor
[INFO] [stdout]      |                 `h` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1649 |                 .await
[INFO] [stdout]      |                  ^^^^^
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1666 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `h` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:1680:18
[INFO] [stdout]      |
[INFO] [stdout] 1677 |             let mut h = handle.lock().await;
[INFO] [stdout]      |                 -----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `h` calls a custom destructor
[INFO] [stdout]      |                 `h` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1680 |                 .await
[INFO] [stdout]      |                  ^^^^^
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1698 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `h` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking spt-diagnostics v0.26.23 (/opt/rustwide/workdir/crates/spt-diagnostics)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:1825:14
[INFO] [stdout]      |
[INFO] [stdout] 1822 |         let mut client = listing_client;
[INFO] [stdout]      |             ----------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `client` calls a custom destructor
[INFO] [stdout]      |             `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1825 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1826 |             .map_err(|e| Error::AuthFailed(format!("ssh-agent: request_identities: {e}")))?
[INFO] [stdout] 1827 |     };
[INFO] [stdout]      |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:1939:10
[INFO] [stdout]      |
[INFO] [stdout] 1937 |     let mut h = handle.lock().await;
[INFO] [stdout]      |         -----
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `h` calls a custom destructor
[INFO] [stdout]      |         `h` will be dropped later as of Edition 2024
[INFO] [stdout] 1938 |     h.authenticate_publickey_with(user, public_key, RSA_AUTH_HASH_ALG, signer)
[INFO] [stdout] 1939 |         .await
[INFO] [stdout]      |          ^^^^^
[INFO] [stdout]      |          |
[INFO] [stdout]      |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1942 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `h` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:2291:14
[INFO] [stdout]      |
[INFO] [stdout] 2283 |         let handle = handle.lock().await;
[INFO] [stdout]      |             ------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `handle` calls a custom destructor
[INFO] [stdout]      |             `handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2291 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 2292 |             .map_err(|e| Error::RuntimeFailure(format!("russh direct-tcpip: {e}")))?
[INFO] [stdout] 2293 |     };
[INFO] [stdout]      |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `handle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:2329:14
[INFO] [stdout]      |
[INFO] [stdout] 2321 |         let handle = handle.lock().await;
[INFO] [stdout]      |             ------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `handle` calls a custom destructor
[INFO] [stdout]      |             `handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2329 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 2330 |     };
[INFO] [stdout]      |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `handle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:2378:15
[INFO] [stdout]      |
[INFO] [stdout] 2377 |           let handle = handle.lock().await;
[INFO] [stdout]      |               ------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `handle` calls a custom destructor
[INFO] [stdout]      |               `handle` will be dropped later as of Edition 2024
[INFO] [stdout] 2378 |           match handle
[INFO] [stdout]      |  _______________^
[INFO] [stdout] 2379 | |             .tcpip_forward(address.clone(), u32::from(requested_port))
[INFO] [stdout] 2380 | |             .await
[INFO] [stdout]      | |              ----^
[INFO] [stdout]      | |              |   |
[INFO] [stdout]      | |______________|___this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                |   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2392 |       };
[INFO] [stdout]      |        - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `handle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:2380:14
[INFO] [stdout]      |
[INFO] [stdout] 2377 |         let handle = handle.lock().await;
[INFO] [stdout]      |             ------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `handle` calls a custom destructor
[INFO] [stdout]      |             `handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2380 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2392 |     };
[INFO] [stdout]      |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `handle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ssh2/src/uds_forward.rs:220:14
[INFO] [stdout]     |
[INFO] [stdout] 217 |         let handle = handle.lock().await;
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `handle` calls a custom destructor
[INFO] [stdout]     |             `handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 220 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 224 |     };
[INFO] [stdout]     |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `handle` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ssh2/src/uds_forward.rs:301:68
[INFO] [stdout]     |
[INFO] [stdout] 300 |             let g = self.handle.lock().await;
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `g` calls a custom destructor
[INFO] [stdout]     |                 `g` will be dropped later as of Edition 2024
[INFO] [stdout] 301 |             g.cancel_streamlocal_forward(self.socket_path.clone()).await
[INFO] [stdout]     |                                                                    ^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 302 |         };
[INFO] [stdout]     |          - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `g` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/src/russh_backend.rs:1449:14
[INFO] [stdout]      |
[INFO] [stdout] 1283 | #[async_trait]
[INFO] [stdout]      |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 1446 |         let handle = self.handle.lock().await;
[INFO] [stdout]      |             ------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `handle` calls a custom destructor
[INFO] [stdout]      |             `handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1449 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `handle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/spt-key/tests/algorithm_matrix.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-key/tests/keypair_roundtrip.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-trust/tests/known_hosts_edge_cases.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-status-api/tests/router.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-ssh3/tests/two_endpoints.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh3/tests/two_endpoints.rs:324:19
[INFO] [stdout]      |
[INFO] [stdout]  324 |             match server_conn_e.read_datagram().await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                             |
[INFO] [stdout]      |                   |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                   |                             up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  325 |                 Ok(p) => {
[INFO] [stdout]  326 |                     let _ = server_conn_e.send_datagram(p);
[INFO] [stdout]      |                             ------------------------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  330 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/spt-ftp-translator/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-diagnostics/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ftp-translator/src/data.rs:33:31
[INFO] [stdout]     |
[INFO] [stdout]  33 |         if let Ok(listener) = TcpListener::bind(addr).await {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |                       |
[INFO] [stdout]     |                               |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  37 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-diagnostics/src/port_autodetect.rs:167:54
[INFO] [stdout]      |
[INFO] [stdout]  159 | #[async_trait]
[INFO] [stdout]      |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  165 |         let mut stream = timeout(budget, TcpStream::connect(addr)).await.ok()?.ok()?;
[INFO] [stdout]      |             ----------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `stream` calls a custom destructor
[INFO] [stdout]      |             `stream` will be dropped later as of Edition 2024
[INFO] [stdout]  166 |         let mut buf = [0u8; 256];
[INFO] [stdout]  167 |         match timeout(budget, stream.read(&mut buf)).await {
[INFO] [stdout]      |                                                      ^^^^^
[INFO] [stdout]      |                                                      |
[INFO] [stdout]      |                                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/spt-ssh2/tests/russh_backend.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/spt-ssh2/tests/russh_backend.rs (5 fixes)
[INFO] [stderr]    Migrating tests/e2e/reload_diff.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/tests/russh_backend.rs:336:15
[INFO] [stdout]      |
[INFO] [stdout]  336 |         match TcpStream::connect(("127.0.0.1", port)).await {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                                       |
[INFO] [stdout]      |               |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               |                                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  340 |                 tokio::time::sleep(Duration::from_millis(25)).await;
[INFO] [stdout]      |                 ---------------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  344 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/tests/russh_backend.rs:520:11
[INFO] [stdout]      |
[INFO] [stdout]  499 |     let proto = Ssh2Protocol::builder()
[INFO] [stdout]      |         -----
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `proto` calls a custom destructor
[INFO] [stdout]      |         `proto` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  520 |     match proto.connect(&endpoint, &auth).await {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |           |                               |
[INFO] [stdout]      |           |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           |                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  525 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `proto` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `proto` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `proto` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `proto` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `proto` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `proto` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `proto` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `proto` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `proto` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-ssh2/tests/russh_backend.rs:520:43
[INFO] [stdout]      |
[INFO] [stdout]  499 |     let proto = Ssh2Protocol::builder()
[INFO] [stdout]      |         -----
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `proto` calls a custom destructor
[INFO] [stdout]      |         `proto` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  520 |     match proto.connect(&endpoint, &auth).await {
[INFO] [stdout]      |                                           ^^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  525 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `proto` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `proto` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `proto` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `proto` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `proto` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `proto` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `proto` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `proto` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `proto` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/e2e/ssh2_local_forward.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/spt-sftp/src/mount/macos_sshfs.rs (12 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-sftp/src/mock.rs:139:29
[INFO] [stdout]     |
[INFO] [stdout] 139 |           while let Some(e) = rd.next_entry().await.map_err(|_| StatusCode::Failure)? {
[INFO] [stdout]     |                          -    ---------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |    |               |
[INFO] [stdout]     |                          |    |               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                          |    |               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          |    |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |    |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          |    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                          |    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          |    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                          |    up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          |    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                          |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          `e` calls a custom destructor
[INFO] [stdout]     |                          `e` will be dropped later as of Edition 2024
[INFO] [stdout] 140 |               let name = e.file_name().to_string_lossy().into_owned();
[INFO] [stdout] 141 |               let m = fs::symlink_metadata(e.path())
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 142 | |                 .await
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 145 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-sftp/src/recursive.rs:129:29
[INFO] [stdout]     |
[INFO] [stdout] 129 |       while let Some(entry) = entries.next_entry().await.map_err(|e| SftpError::Local {
[INFO] [stdout]     |                      -----    ^-------------------------
[INFO] [stdout]     |                      |        |                    |
[INFO] [stdout]     |                      |        |                    this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                      |        |                    up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                      |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |  ____________________|________`__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                    |
[INFO] [stdout]     | |                    `entry` calls a custom destructor
[INFO] [stdout]     | |                    `entry` will be dropped later as of Edition 2024
[INFO] [stdout] 130 | |         op: "put-next_entry",
[INFO] [stdout] 131 | |         detail: format!("{}: {e}", local_dir.display()),
[INFO] [stdout] 132 | |     })? {
[INFO] [stdout]     | |       ^
[INFO] [stdout]     | |       |
[INFO] [stdout]     | |       this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     | |       up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |_______this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |         up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 133 |           let file_type = entry.file_type().await.map_err(|e| SftpError::Local {
[INFO] [stdout]     |                           -----------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 147 | /                     fs::metadata(&local_child)
[INFO] [stdout] 148 | |                         .await
[INFO] [stdout]     | |                              -
[INFO] [stdout]     | |______________________________|
[INFO] [stdout]     | |______________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 | |                     client.create_dir_idem(remote_child.clone()).await?;
[INFO] [stdout]     | |                     --------------------------------------------------
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                     `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 155 | |                     report.directories += 1;
[INFO] [stdout] 156 | /                     Box::pin(put_dir_inner(
[INFO] [stdout] 157 | |                         client,
[INFO] [stdout] 158 | |                         &local_child,
[INFO] [stdout] 159 | |                         &remote_child,
[INFO] [stdout] ...   |
[INFO] [stdout] 164 | |                     ))
[INFO] [stdout] 165 | |                     .await?;
[INFO] [stdout]     | |                          -
[INFO] [stdout]     | |__________________________|
[INFO] [stdout]     | |__________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                            `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 166 |                   } else {
[INFO] [stdout] 167 | |                     upload_file(client, &local_child, &remote_child, opts, bucket, report).await?;
[INFO] [stdout]     | |                     ----------------------------------------------------------------------------
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 170 |                   let target = fs::read_link(&local_child)
[INFO] [stdout]     |  ______________________________-
[INFO] [stdout]     | |______________________________|
[INFO] [stdout] 171 | |                     .await
[INFO] [stdout]     | |                          -
[INFO] [stdout]     | |__________________________|
[INFO] [stdout]     | |__________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                            `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 176 | /                 client
[INFO] [stdout] 177 | |                     .symlink(target.to_string_lossy().into_owned(), remote_child.clone())
[INFO] [stdout] 178 | |                     .await?;
[INFO] [stdout]     | |                          -
[INFO] [stdout]     | |__________________________|
[INFO] [stdout]     | |__________________________this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                            `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 182 | |             client.create_dir_idem(remote_child.clone()).await?;
[INFO] [stdout]     | |             --------------------------------------------------
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |             `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 183 | |             report.directories += 1;
[INFO] [stdout] 184 | /             Box::pin(put_dir_inner(
[INFO] [stdout] 185 | |                 client,
[INFO] [stdout] 186 | |                 &local_child,
[INFO] [stdout] 187 | |                 &remote_child,
[INFO] [stdout] ...   |
[INFO] [stdout] 192 | |             ))
[INFO] [stdout] 193 | |             .await?;
[INFO] [stdout]     | |                  -
[INFO] [stdout]     | |__________________|
[INFO] [stdout]     | |__________________this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout] 194 |           } else if file_type.is_file() {
[INFO] [stdout] 195 | |             upload_file(client, &local_child, &remote_child, opts, bucket, report).await?;
[INFO] [stdout]     | |             ----------------------------------------------------------------------------
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |             `#11` will be dropped later as of Edition 2024
[INFO] [stdout] 196 | |         }
[INFO] [stdout] 197 | |     }
[INFO] [stdout]     | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-sftp/src/mount/macos_sshfs.rs:231:44
[INFO] [stdout]     |
[INFO] [stdout] 231 |                         if let Ok(mut q) = tail.lock() {
[INFO] [stdout]     |                                   -----    ^^^^^^^^^^^
[INFO] [stdout]     |                                   |        |
[INFO] [stdout]     |                                   |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   `q` calls a custom destructor
[INFO] [stdout]     |                                   `q` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 237 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `q` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed tests/e2e/ssh2_local_forward.rs (1 fix)
[INFO] [stderr]    Migrating tests/stress/tests/burst_10k.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ftp-translator/src/data.rs:33:31
[INFO] [stdout]     |
[INFO] [stdout]  33 |         if let Ok(listener) = TcpListener::bind(addr).await {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |                       |
[INFO] [stdout]     |                               |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  37 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/spt-ftp-translator/tests/path_traversal.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/src/bin/spt-completions.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_diagnose_redaction.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_status_snapshot.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/spt-bin/src/cli/key_ops.rs (6 fixes)
[INFO] [stderr]    Migrating crates/spt-bin/src/bin/spt-mangen.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/spt-bin/src/signals.rs (9 fixes)
[INFO] [stderr]        Fixed crates/spt-bin/src/cli/secret_ops.rs (11 fixes)
[INFO] [stderr]        Fixed crates/spt-bin/src/cli_dispatch.rs (4 fixes)
[INFO] [stderr]        Fixed crates/spt-bin/src/tracing_init.rs (2 fixes)
[INFO] [stderr]        Fixed crates/spt-bin/src/cli/config_ops.rs (17 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-bin/src/benchmark_bridge.rs:218:22
[INFO] [stdout]     |
[INFO] [stdout] 162 |     let drv: Box<dyn BenchmarkDriver> = match driver {
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `drv` calls a custom destructor
[INFO] [stdout]     |         `drv` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 210 |     let ctx = BenchContext {
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `ctx` calls a custom destructor
[INFO] [stdout]     |         `ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 218 |     Ok(drv.run(&ctx).await)
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 219 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `drv` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `ctx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-bin/src/cli/event_ops.rs:308:31
[INFO] [stdout]     |
[INFO] [stdout] 307 |             let sink = WebPushSink::new(sc.name.clone(), body, subs, vapid, transport);
[INFO] [stdout]     |                 ----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `sink` calls a custom destructor
[INFO] [stdout]     |                 `sink` will be dropped later as of Edition 2024
[INFO] [stdout] 308 |             sink.deliver(evt).await.map_err(|e| e.to_string())
[INFO] [stdout]     |                               ^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 309 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `sink` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `sink` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/signing.rs:380:1
[INFO] [stdout]     |
[INFO] [stdout] 380 | / impl<C> Drop for SigningKey<C>
[INFO] [stdout] 381 | | where
[INFO] [stdout] 382 | |     C: PrimeCurve + CurveArithmetic,
[INFO] [stdout] 383 | |     Scalar<C>: Invert<Output = CtOption<Scalar<C>>> + SignPrimitive<C>,
[INFO] [stdout] 384 | |     SignatureSize<C>: ArrayLength<u8>,
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-bin/src/cli/log_ops.rs:502:31
[INFO] [stdout]     |
[INFO] [stdout] 501 |             let sink = WebPushSink::new(sc.name.clone(), body, subs, vapid, transport);
[INFO] [stdout]     |                 ----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `sink` calls a custom destructor
[INFO] [stdout]     |                 `sink` will be dropped later as of Edition 2024
[INFO] [stdout] 502 |             sink.deliver(evt).await.map_err(|e| e.to_string())
[INFO] [stdout]     |                               ^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 503 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `sink` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `sink` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/signing.rs:380:1
[INFO] [stdout]     |
[INFO] [stdout] 380 | / impl<C> Drop for SigningKey<C>
[INFO] [stdout] 381 | | where
[INFO] [stdout] 382 | |     C: PrimeCurve + CurveArithmetic,
[INFO] [stdout] 383 | |     Scalar<C>: Invert<Output = CtOption<Scalar<C>>> + SignPrimitive<C>,
[INFO] [stdout] 384 | |     SignatureSize<C>: ArrayLength<u8>,
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli/sftp_ops.rs:782:58
[INFO] [stdout]      |
[INFO] [stdout]  773 |     let (cfg, _warnings) = spt_config::load(&path, false)
[INFO] [stdout]      |          ---
[INFO] [stdout]      |          |
[INFO] [stdout]      |          `cfg` calls a custom destructor
[INFO] [stdout]      |          `cfg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  777 |     let resolver = crate::secrets_bridge::build_resolver(cfg.secrets.as_ref(), &state_dir)?;
[INFO] [stdout]      |         --------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `resolver` calls a custom destructor
[INFO] [stdout]      |         `resolver` will be dropped later as of Edition 2024
[INFO] [stdout]  778 |     let bundle = crate::profile_factory::build_sftp(profile, &resolver, &cfg)?;
[INFO] [stdout]      |         ------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `bundle` calls a custom destructor
[INFO] [stdout]      |         `bundle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  782 |     bundle.protocol.connect_sftp(endpoint, &bundle.auth).await
[INFO] [stdout]      |                                                          ^^^^^
[INFO] [stdout]      |                                                          |
[INFO] [stdout]      |                                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  783 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `cfg` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `resolver` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `bundle` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli_dispatch.rs:1117:27
[INFO] [stdout]      |
[INFO] [stdout] 1081 |               Ok(bundle) => {
[INFO] [stdout]      |                  ------
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `bundle` calls a custom destructor
[INFO] [stdout]      |                  `bundle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1093 |                   let policy = spt_supervisor::make_policy_selector(
[INFO] [stdout]      |                       ------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `policy` calls a custom destructor
[INFO] [stdout]      |                       `policy` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1116 |                   if let Some(ps) = policy {
[INFO] [stdout]      |                               --
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               `ps` calls a custom destructor
[INFO] [stdout]      |                               `ps` will be dropped later as of Edition 2024
[INFO] [stdout] 1117 |                       match orchestrator.profile_handle(&profile.name) { Some(sup) => {
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        ---
[INFO] [stdout]      |                             |                                                 |
[INFO] [stdout]      |                             |                                                 `sup` calls a custom destructor
[INFO] [stdout]      |                             |                                                 `sup` will be dropped later as of Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1118 |                           sup.selector().lock().set_policy_selector(Some(ps));
[INFO] [stdout]      |                           ---------------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1131 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 1137 | /                 writer
[INFO] [stdout] 1138 | |                     .update(|s| {
[INFO] [stdout] 1139 | |                         if let Some(p) = s.profiles.iter_mut().find(|p| p.id == profile.name) {
[INFO] [stdout] 1140 | |                             p.state = "failed".into();
[INFO] [stdout] ...    |
[INFO] [stdout] 1143 | |                     })
[INFO] [stdout] 1144 | |                     .await;
[INFO] [stdout]      | |                          -
[INFO] [stdout]      | |                          |
[INFO] [stdout]      | |__________________________`__awaitee` calls a custom destructor
[INFO] [stdout]      |                            `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-supervisor/src/profile.rs:436:1
[INFO] [stdout]      |
[INFO] [stdout]  436 | impl Drop for ProfileSupervisor {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `bundle` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-state/src/events.rs:145:1
[INFO] [stdout]      |
[INFO] [stdout]  145 | impl Drop for EventRing {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.14.5/src/raw/mod.rs:3679:1
[INFO] [stdout]      |
[INFO] [stdout] 3679 | impl<T, A: Allocator> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `policy` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `ps` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `sup` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-supervisor/src/profile.rs:436:1
[INFO] [stdout]      |
[INFO] [stdout]  436 | impl Drop for ProfileSupervisor {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/mutex.rs:701:1
[INFO] [stdout]      |
[INFO] [stdout]  701 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli_dispatch.rs:1080:15
[INFO] [stdout]      |
[INFO] [stdout] 1080 |           match crate::profile_factory::build_with_config(profile, &resolver, &cfg) {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1081 |               Ok(bundle) => {
[INFO] [stdout]      |                  ------
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `bundle` calls a custom destructor
[INFO] [stdout]      |                  `bundle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1093 |                   let policy = spt_supervisor::make_policy_selector(
[INFO] [stdout]      |                       ------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `policy` calls a custom destructor
[INFO] [stdout]      |                       `policy` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1116 |                   if let Some(ps) = policy {
[INFO] [stdout]      |                               --
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               `ps` calls a custom destructor
[INFO] [stdout]      |                               `ps` will be dropped later as of Edition 2024
[INFO] [stdout] 1117 |                       match orchestrator.profile_handle(&profile.name) { Some(sup) => {
[INFO] [stdout]      |                                                                               ---
[INFO] [stdout]      |                                                                               |
[INFO] [stdout]      |                                                                               `sup` calls a custom destructor
[INFO] [stdout]      |                                                                               `sup` will be dropped later as of Edition 2024
[INFO] [stdout] 1118 |                           sup.selector().lock().set_policy_selector(Some(ps));
[INFO] [stdout]      |                           ---------------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1137 | /                 writer
[INFO] [stdout] 1138 | |                     .update(|s| {
[INFO] [stdout] 1139 | |                         if let Some(p) = s.profiles.iter_mut().find(|p| p.id == profile.name) {
[INFO] [stdout] 1140 | |                             p.state = "failed".into();
[INFO] [stdout] ...    |
[INFO] [stdout] 1143 | |                     })
[INFO] [stdout] 1144 | |                     .await;
[INFO] [stdout]      | |                          -
[INFO] [stdout]      | |                          |
[INFO] [stdout]      | |__________________________`__awaitee` calls a custom destructor
[INFO] [stdout]      |                            `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1147 |       }
[INFO] [stdout]      |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-state/src/events.rs:145:1
[INFO] [stdout]      |
[INFO] [stdout]  145 | impl Drop for EventRing {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.14.5/src/raw/mod.rs:3679:1
[INFO] [stdout]      |
[INFO] [stdout] 3679 | impl<T, A: Allocator> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `bundle` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-state/src/events.rs:145:1
[INFO] [stdout]      |
[INFO] [stdout]  145 | impl Drop for EventRing {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.14.5/src/raw/mod.rs:3679:1
[INFO] [stdout]      |
[INFO] [stdout] 3679 | impl<T, A: Allocator> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `policy` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `ps` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `sup` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-supervisor/src/profile.rs:436:1
[INFO] [stdout]      |
[INFO] [stdout]  436 | impl Drop for ProfileSupervisor {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/mutex.rs:701:1
[INFO] [stdout]      |
[INFO] [stdout]  701 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli_dispatch.rs:1295:23
[INFO] [stdout]      |
[INFO] [stdout] 1288 |           if sig.changed().await.is_err() {
[INFO] [stdout]      |              -------------------
[INFO] [stdout]      |              |
[INFO] [stdout]      |              `__awaitee` calls a custom destructor
[INFO] [stdout]      |              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1295 |                   match reload_orchestrator(
[INFO] [stdout]      |  _______________________^
[INFO] [stdout] 1296 | |                     &cfg_path_for_reload,
[INFO] [stdout] 1297 | |                     &resolver,
[INFO] [stdout] 1298 | |                     &orchestrator,
[INFO] [stdout] ...    |
[INFO] [stdout] 1301 | |                 .await
[INFO] [stdout]      | |                  ----^
[INFO] [stdout]      | |                  |   |
[INFO] [stdout]      | |                  |   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                  |   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |__________________|___this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    |   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                    up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 1302 |                   {
[INFO] [stdout] 1303 |                       Ok(outcome) => {
[INFO] [stdout]      |                          -------
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          `outcome` calls a custom destructor
[INFO] [stdout]      |                          `outcome` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1316 | /                         writer
[INFO] [stdout] 1317 | |                             .update(|s| {
[INFO] [stdout] 1318 | |                                 s.config_fingerprint_sha256 = fp;
[INFO] [stdout] 1319 | |                             })
[INFO] [stdout] 1320 | |                             .await;
[INFO] [stdout]      | |                                  -
[INFO] [stdout]      | |__________________________________|
[INFO] [stdout]      | |__________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1326 | |             }
[INFO] [stdout]      | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `outcome` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli_dispatch.rs:1291:16
[INFO] [stdout]      |
[INFO] [stdout] 1288 |           if sig.changed().await.is_err() {
[INFO] [stdout]      |              -------------------
[INFO] [stdout]      |              |
[INFO] [stdout]      |              `__awaitee` calls a custom destructor
[INFO] [stdout]      |              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1291 |           match *sig.borrow() {
[INFO] [stdout]      |                  ^^^^^^^^^^^^
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                  up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1295 |                   match reload_orchestrator(
[INFO] [stdout]      |  _______________________-
[INFO] [stdout] 1296 | |                     &cfg_path_for_reload,
[INFO] [stdout] 1297 | |                     &resolver,
[INFO] [stdout] 1298 | |                     &orchestrator,
[INFO] [stdout] ...    |
[INFO] [stdout] 1301 | |                 .await
[INFO] [stdout]      | |                  -----
[INFO] [stdout]      | |                  |   |
[INFO] [stdout]      | |__________________|___this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    |   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 1302 |                   {
[INFO] [stdout] 1303 |                       Ok(outcome) => {
[INFO] [stdout]      |                          -------
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          `outcome` calls a custom destructor
[INFO] [stdout]      |                          `outcome` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1316 | /                         writer
[INFO] [stdout] 1317 | |                             .update(|s| {
[INFO] [stdout] 1318 | |                                 s.config_fingerprint_sha256 = fp;
[INFO] [stdout] 1319 | |                             })
[INFO] [stdout] 1320 | |                             .await;
[INFO] [stdout]      | |                                  -
[INFO] [stdout]      | |__________________________________|
[INFO] [stdout]      | |__________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1329 | |     }
[INFO] [stdout]      | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `outcome` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli_dispatch.rs:4116:31
[INFO] [stdout]      |
[INFO] [stdout] 4115 |             let sink = WebPushSink::new(sc.name.clone(), body, subs, vapid, transport);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `sink` calls a custom destructor
[INFO] [stdout]      |                 `sink` will be dropped later as of Edition 2024
[INFO] [stdout] 4116 |             sink.deliver(evt).await.map_err(|e| e.to_string())
[INFO] [stdout]      |                               ^^^^^
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 4117 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `sink` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `sink` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/signing.rs:380:1
[INFO] [stdout]      |
[INFO] [stdout]  380 | / impl<C> Drop for SigningKey<C>
[INFO] [stdout]  381 | | where
[INFO] [stdout]  382 | |     C: PrimeCurve + CurveArithmetic,
[INFO] [stdout]  383 | |     Scalar<C>: Invert<Output = CtOption<Scalar<C>>> + SignPrimitive<C>,
[INFO] [stdout]  384 | |     SignatureSize<C>: ArrayLength<u8>,
[INFO] [stdout]      | |______________________________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/controller.rs:250:19
[INFO] [stdout]      |
[INFO] [stdout]  249 |             let p = p.clone();
[INFO] [stdout]      |                 -
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `p` calls a custom destructor
[INFO] [stdout]      |                 `p` will be dropped later as of Edition 2024
[INFO] [stdout]  250 |             match profile_factory::build_with_config(&p, resolver, &new_for_provider) {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  275 |         }))
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-state/src/events.rs:145:1
[INFO] [stdout]      |
[INFO] [stdout]  145 | impl Drop for EventRing {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.14.5/src/raw/mod.rs:3679:1
[INFO] [stdout]      |
[INFO] [stdout] 3679 | impl<T, A: Allocator> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli_dispatch.rs:1975:19
[INFO] [stdout]      |
[INFO] [stdout] 1968 |           let per_sink_http: Option<Arc<dyn spt_events::sinks::http::HttpTransport>> = if sc
[INFO] [stdout]      |               -------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `per_sink_http` calls a custom destructor
[INFO] [stdout]      |               `per_sink_http` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1975 |               match spt_events::sinks::http::reqwest_transport::ReqwestTransport::with_pin(
[INFO] [stdout]      |  ___________________^
[INFO] [stdout] 1976 | |                 sink_timeout_or_default(sc),
[INFO] [stdout] 1977 | |                 &sc.pin_spki_sha256,
[INFO] [stdout] 1978 | |                 sc.allow_self_signed.unwrap_or(false),
[INFO] [stdout] 1979 | |                 sc.max_cert_chain_depth.or(Some(5)),
[INFO] [stdout] 1980 | |             ) {
[INFO] [stdout]      | |             ^
[INFO] [stdout]      | |             |
[INFO] [stdout]      | |_____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1987 |           };
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 1991 |           let email = if sc.kind == "email" {
[INFO] [stdout]      |               -----
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `email` calls a custom destructor
[INFO] [stdout]      |               `email` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2003 |           let mut deps = spt_events::SinkDeps::none()
[INFO] [stdout]      |               --------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `deps` calls a custom destructor
[INFO] [stdout]      |               `deps` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2015 |                   sinks.insert(sc.name.clone(), Arc::from(sink));
[INFO] [stdout]      |                   ----------------------------------------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `per_sink_http` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `email` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `deps` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli_dispatch.rs:1992:19
[INFO] [stdout]      |
[INFO] [stdout] 1968 |         let per_sink_http: Option<Arc<dyn spt_events::sinks::http::HttpTransport>> = if sc
[INFO] [stdout]      |             -------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `per_sink_http` calls a custom destructor
[INFO] [stdout]      |             `per_sink_http` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1991 |         let email = if sc.kind == "email" {
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `email` calls a custom destructor
[INFO] [stdout]      |             `email` will be dropped later as of Edition 2024
[INFO] [stdout] 1992 |             match build_email_transport(sc, resolver) {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1999 |         } else {
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 2003 |         let mut deps = spt_events::SinkDeps::none()
[INFO] [stdout]      |             --------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `deps` calls a custom destructor
[INFO] [stdout]      |             `deps` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2015 |                 sinks.insert(sc.name.clone(), Arc::from(sink));
[INFO] [stdout]      |                 ----------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `per_sink_http` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `email` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `deps` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli_dispatch.rs:2013:15
[INFO] [stdout]      |
[INFO] [stdout] 1968 |         let per_sink_http: Option<Arc<dyn spt_events::sinks::http::HttpTransport>> = if sc
[INFO] [stdout]      |             -------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `per_sink_http` calls a custom destructor
[INFO] [stdout]      |             `per_sink_http` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1991 |         let email = if sc.kind == "email" {
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `email` calls a custom destructor
[INFO] [stdout]      |             `email` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2003 |         let mut deps = spt_events::SinkDeps::none()
[INFO] [stdout]      |             --------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `deps` calls a custom destructor
[INFO] [stdout]      |             `deps` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2013 |         match spt_events::build_sink(sc, commands, &deps, resolver) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2026 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `per_sink_http` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `email` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `deps` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli_dispatch.rs:8531:33
[INFO] [stdout]      |
[INFO] [stdout] 8520 |         let td = tempfile::tempdir().unwrap();
[INFO] [stdout]      |             --
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `td` calls a custom destructor
[INFO] [stdout]      |             `td` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8531 |         match dispatch_err(cli).await {
[INFO] [stdout]      |                                 ^^^^^
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8538 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `td` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.13.0/src/dir/mod.rs:479:1
[INFO] [stdout]      |
[INFO] [stdout]  479 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/profile_factory.rs:2113:15
[INFO] [stdout]      |
[INFO] [stdout] 2112 |         let (c, _) = load_str(cfg, false).unwrap();
[INFO] [stdout]      |              -
[INFO] [stdout]      |              |
[INFO] [stdout]      |              `c` calls a custom destructor
[INFO] [stdout]      |              `c` will be dropped later as of Edition 2024
[INFO] [stdout] 2113 |         match build_with_config(&c.profiles[0], &empty_resolver(), &c) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------^^^^^
[INFO] [stdout]      |               |                                  |
[INFO] [stdout]      |               |                                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |                                  up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2120 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-state/src/events.rs:145:1
[INFO] [stdout]      |
[INFO] [stdout]  145 | impl Drop for EventRing {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.14.5/src/raw/mod.rs:3679:1
[INFO] [stdout]      |
[INFO] [stdout] 3679 | impl<T, A: Allocator> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `c` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/profile_factory.rs:2132:15
[INFO] [stdout]      |
[INFO] [stdout] 2131 |         let (c, _) = load_str(cfg, false).unwrap();
[INFO] [stdout]      |              -
[INFO] [stdout]      |              |
[INFO] [stdout]      |              `c` calls a custom destructor
[INFO] [stdout]      |              `c` will be dropped later as of Edition 2024
[INFO] [stdout] 2132 |         match build(&c.profiles[0], &empty_resolver()) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^----------------^
[INFO] [stdout]      |               |                      |
[INFO] [stdout]      |               |                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |                      up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2137 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-state/src/events.rs:145:1
[INFO] [stdout]      |
[INFO] [stdout]  145 | impl Drop for EventRing {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.14.5/src/raw/mod.rs:3679:1
[INFO] [stdout]      |
[INFO] [stdout] 3679 | impl<T, A: Allocator> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `c` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/profile_factory.rs:2222:15
[INFO] [stdout]      |
[INFO] [stdout] 2221 |         let (c, _) = load_str(cfg, false).unwrap();
[INFO] [stdout]      |              -
[INFO] [stdout]      |              |
[INFO] [stdout]      |              `c` calls a custom destructor
[INFO] [stdout]      |              `c` will be dropped later as of Edition 2024
[INFO] [stdout] 2222 |         match build(&c.profiles[0], &empty_resolver()) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^----------------^
[INFO] [stdout]      |               |                      |
[INFO] [stdout]      |               |                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |                      up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2227 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-state/src/events.rs:145:1
[INFO] [stdout]      |
[INFO] [stdout]  145 | impl Drop for EventRing {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.14.5/src/raw/mod.rs:3679:1
[INFO] [stdout]      |
[INFO] [stdout] 3679 | impl<T, A: Allocator> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `c` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/profile_factory.rs:2244:15
[INFO] [stdout]      |
[INFO] [stdout] 2243 |         let (c, _) = load_str(cfg, false).unwrap();
[INFO] [stdout]      |              -
[INFO] [stdout]      |              |
[INFO] [stdout]      |              `c` calls a custom destructor
[INFO] [stdout]      |              `c` will be dropped later as of Edition 2024
[INFO] [stdout] 2244 |         match build(&c.profiles[0], &empty_resolver()) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^----------------^
[INFO] [stdout]      |               |                      |
[INFO] [stdout]      |               |                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |                      up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2249 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-state/src/events.rs:145:1
[INFO] [stdout]      |
[INFO] [stdout]  145 | impl Drop for EventRing {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.14.5/src/raw/mod.rs:3679:1
[INFO] [stdout]      |
[INFO] [stdout] 3679 | impl<T, A: Allocator> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `c` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/profile_factory.rs:2470:15
[INFO] [stdout]      |
[INFO] [stdout] 2469 |         let (c, _) = load_str(cfg, false).unwrap();
[INFO] [stdout]      |              -
[INFO] [stdout]      |              |
[INFO] [stdout]      |              `c` calls a custom destructor
[INFO] [stdout]      |              `c` will be dropped later as of Edition 2024
[INFO] [stdout] 2470 |         match build(&c.profiles[0], &empty_resolver()) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^----------------^
[INFO] [stdout]      |               |                      |
[INFO] [stdout]      |               |                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |                      up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2475 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-state/src/events.rs:145:1
[INFO] [stdout]      |
[INFO] [stdout]  145 | impl Drop for EventRing {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.14.5/src/raw/mod.rs:3679:1
[INFO] [stdout]      |
[INFO] [stdout] 3679 | impl<T, A: Allocator> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `c` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/profile_factory.rs:3573:9
[INFO] [stdout]      |
[INFO] [stdout] 3559 |         let (c, _) = load_str(
[INFO] [stdout]      |              -
[INFO] [stdout]      |              |
[INFO] [stdout]      |              `c` calls a custom destructor
[INFO] [stdout]      |              `c` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3573 |         c.profiles.into_iter().next().unwrap()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 3574 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `c` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/profile_factory.rs:3595:9
[INFO] [stdout]      |
[INFO] [stdout] 3594 |             let (c, _) = load_str(&raw, false).unwrap();
[INFO] [stdout]      |                  -
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `c` calls a custom destructor
[INFO] [stdout]      |                  `c` will be dropped later as of Edition 2024
[INFO] [stdout] 3595 | / /         c.profiles
[INFO] [stdout] 3596 | | |             .into_iter()
[INFO] [stdout]      | | |                        -
[INFO] [stdout]      | | |                        |
[INFO] [stdout]      | | |________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 3597 | |               .next()
[INFO] [stdout] 3598 | |               .unwrap()
[INFO] [stdout]      | |                       ^
[INFO] [stdout]      | |                       |
[INFO] [stdout]      | |_______________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3601 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `c` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/profile_factory.rs:3841:9
[INFO] [stdout]      |
[INFO] [stdout] 3840 |         let (c, _) = load_str(&cfg, false).unwrap();
[INFO] [stdout]      |              -
[INFO] [stdout]      |              |
[INFO] [stdout]      |              `c` calls a custom destructor
[INFO] [stdout]      |              `c` will be dropped later as of Edition 2024
[INFO] [stdout] 3841 |         c.profiles.into_iter().next().unwrap()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 3842 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `c` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_remote_config.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_controller_failover.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_live_bridge.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_firewall_ops.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_config_lifecycle.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_tunnel_run_lifecycle.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_lock_pid.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_policy_overlay.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_log_ops.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_dispatch_routing.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_diagnose_extended.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-bin/src/benchmark_bridge.rs:218:22
[INFO] [stdout]     |
[INFO] [stdout] 162 |     let drv: Box<dyn BenchmarkDriver> = match driver {
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `drv` calls a custom destructor
[INFO] [stdout]     |         `drv` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 210 |     let ctx = BenchContext {
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `ctx` calls a custom destructor
[INFO] [stdout]     |         `ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 218 |     Ok(drv.run(&ctx).await)
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 219 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `drv` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `ctx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-bin/src/cli/event_ops.rs:308:31
[INFO] [stdout]     |
[INFO] [stdout] 307 |             let sink = WebPushSink::new(sc.name.clone(), body, subs, vapid, transport);
[INFO] [stdout]     |                 ----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `sink` calls a custom destructor
[INFO] [stdout]     |                 `sink` will be dropped later as of Edition 2024
[INFO] [stdout] 308 |             sink.deliver(evt).await.map_err(|e| e.to_string())
[INFO] [stdout]     |                               ^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 309 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `sink` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `sink` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/signing.rs:380:1
[INFO] [stdout]     |
[INFO] [stdout] 380 | / impl<C> Drop for SigningKey<C>
[INFO] [stdout] 381 | | where
[INFO] [stdout] 382 | |     C: PrimeCurve + CurveArithmetic,
[INFO] [stdout] 383 | |     Scalar<C>: Invert<Output = CtOption<Scalar<C>>> + SignPrimitive<C>,
[INFO] [stdout] 384 | |     SignatureSize<C>: ArrayLength<u8>,
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-bin/src/cli/log_ops.rs:502:31
[INFO] [stdout]     |
[INFO] [stdout] 501 |             let sink = WebPushSink::new(sc.name.clone(), body, subs, vapid, transport);
[INFO] [stdout]     |                 ----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `sink` calls a custom destructor
[INFO] [stdout]     |                 `sink` will be dropped later as of Edition 2024
[INFO] [stdout] 502 |             sink.deliver(evt).await.map_err(|e| e.to_string())
[INFO] [stdout]     |                               ^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 503 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `sink` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `sink` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/signing.rs:380:1
[INFO] [stdout]     |
[INFO] [stdout] 380 | / impl<C> Drop for SigningKey<C>
[INFO] [stdout] 381 | | where
[INFO] [stdout] 382 | |     C: PrimeCurve + CurveArithmetic,
[INFO] [stdout] 383 | |     Scalar<C>: Invert<Output = CtOption<Scalar<C>>> + SignPrimitive<C>,
[INFO] [stdout] 384 | |     SignatureSize<C>: ArrayLength<u8>,
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli/sftp_ops.rs:782:58
[INFO] [stdout]      |
[INFO] [stdout]  773 |     let (cfg, _warnings) = spt_config::load(&path, false)
[INFO] [stdout]      |          ---
[INFO] [stdout]      |          |
[INFO] [stdout]      |          `cfg` calls a custom destructor
[INFO] [stdout]      |          `cfg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  777 |     let resolver = crate::secrets_bridge::build_resolver(cfg.secrets.as_ref(), &state_dir)?;
[INFO] [stdout]      |         --------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `resolver` calls a custom destructor
[INFO] [stdout]      |         `resolver` will be dropped later as of Edition 2024
[INFO] [stdout]  778 |     let bundle = crate::profile_factory::build_sftp(profile, &resolver, &cfg)?;
[INFO] [stdout]      |         ------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `bundle` calls a custom destructor
[INFO] [stdout]      |         `bundle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  782 |     bundle.protocol.connect_sftp(endpoint, &bundle.auth).await
[INFO] [stdout]      |                                                          ^^^^^
[INFO] [stdout]      |                                                          |
[INFO] [stdout]      |                                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  783 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `cfg` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `resolver` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `bundle` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli_dispatch.rs:1117:27
[INFO] [stdout]      |
[INFO] [stdout] 1081 |               Ok(bundle) => {
[INFO] [stdout]      |                  ------
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `bundle` calls a custom destructor
[INFO] [stdout]      |                  `bundle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1093 |                   let policy = spt_supervisor::make_policy_selector(
[INFO] [stdout]      |                       ------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `policy` calls a custom destructor
[INFO] [stdout]      |                       `policy` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1116 |                   if let Some(ps) = policy {
[INFO] [stdout]      |                               --
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               `ps` calls a custom destructor
[INFO] [stdout]      |                               `ps` will be dropped later as of Edition 2024
[INFO] [stdout] 1117 |                       match orchestrator.profile_handle(&profile.name) { Some(sup) => {
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        ---
[INFO] [stdout]      |                             |                                                 |
[INFO] [stdout]      |                             |                                                 `sup` calls a custom destructor
[INFO] [stdout]      |                             |                                                 `sup` will be dropped later as of Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1118 |                           sup.selector().lock().set_policy_selector(Some(ps));
[INFO] [stdout]      |                           ---------------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1131 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 1137 | /                 writer
[INFO] [stdout] 1138 | |                     .update(|s| {
[INFO] [stdout] 1139 | |                         if let Some(p) = s.profiles.iter_mut().find(|p| p.id == profile.name) {
[INFO] [stdout] 1140 | |                             p.state = "failed".into();
[INFO] [stdout] ...    |
[INFO] [stdout] 1143 | |                     })
[INFO] [stdout] 1144 | |                     .await;
[INFO] [stdout]      | |                          -
[INFO] [stdout]      | |                          |
[INFO] [stdout]      | |__________________________`__awaitee` calls a custom destructor
[INFO] [stdout]      |                            `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-supervisor/src/profile.rs:436:1
[INFO] [stdout]      |
[INFO] [stdout]  436 | impl Drop for ProfileSupervisor {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `bundle` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-state/src/events.rs:145:1
[INFO] [stdout]      |
[INFO] [stdout]  145 | impl Drop for EventRing {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.14.5/src/raw/mod.rs:3679:1
[INFO] [stdout]      |
[INFO] [stdout] 3679 | impl<T, A: Allocator> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `policy` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `ps` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `sup` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-supervisor/src/profile.rs:436:1
[INFO] [stdout]      |
[INFO] [stdout]  436 | impl Drop for ProfileSupervisor {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/mutex.rs:701:1
[INFO] [stdout]      |
[INFO] [stdout]  701 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli_dispatch.rs:1080:15
[INFO] [stdout]      |
[INFO] [stdout] 1080 |           match crate::profile_factory::build_with_config(profile, &resolver, &cfg) {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1081 |               Ok(bundle) => {
[INFO] [stdout]      |                  ------
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `bundle` calls a custom destructor
[INFO] [stdout]      |                  `bundle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1093 |                   let policy = spt_supervisor::make_policy_selector(
[INFO] [stdout]      |                       ------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `policy` calls a custom destructor
[INFO] [stdout]      |                       `policy` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1116 |                   if let Some(ps) = policy {
[INFO] [stdout]      |                               --
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               `ps` calls a custom destructor
[INFO] [stdout]      |                               `ps` will be dropped later as of Edition 2024
[INFO] [stdout] 1117 |                       match orchestrator.profile_handle(&profile.name) { Some(sup) => {
[INFO] [stdout]      |                                                                               ---
[INFO] [stdout]      |                                                                               |
[INFO] [stdout]      |                                                                               `sup` calls a custom destructor
[INFO] [stdout]      |                                                                               `sup` will be dropped later as of Edition 2024
[INFO] [stdout] 1118 |                           sup.selector().lock().set_policy_selector(Some(ps));
[INFO] [stdout]      |                           ---------------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1137 | /                 writer
[INFO] [stdout] 1138 | |                     .update(|s| {
[INFO] [stdout] 1139 | |                         if let Some(p) = s.profiles.iter_mut().find(|p| p.id == profile.name) {
[INFO] [stdout] 1140 | |                             p.state = "failed".into();
[INFO] [stdout] ...    |
[INFO] [stdout] 1143 | |                     })
[INFO] [stdout] 1144 | |                     .await;
[INFO] [stdout]      | |                          -
[INFO] [stdout]      | |                          |
[INFO] [stdout]      | |__________________________`__awaitee` calls a custom destructor
[INFO] [stdout]      |                            `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1147 |       }
[INFO] [stdout]      |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-state/src/events.rs:145:1
[INFO] [stdout]      |
[INFO] [stdout]  145 | impl Drop for EventRing {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.14.5/src/raw/mod.rs:3679:1
[INFO] [stdout]      |
[INFO] [stdout] 3679 | impl<T, A: Allocator> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `bundle` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-state/src/events.rs:145:1
[INFO] [stdout]      |
[INFO] [stdout]  145 | impl Drop for EventRing {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bundle` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.14.5/src/raw/mod.rs:3679:1
[INFO] [stdout]      |
[INFO] [stdout] 3679 | impl<T, A: Allocator> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `policy` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `ps` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `sup` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-supervisor/src/profile.rs:436:1
[INFO] [stdout]      |
[INFO] [stdout]  436 | impl Drop for ProfileSupervisor {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/mutex.rs:701:1
[INFO] [stdout]      |
[INFO] [stdout]  701 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli_dispatch.rs:1295:23
[INFO] [stdout]      |
[INFO] [stdout] 1288 |           if sig.changed().await.is_err() {
[INFO] [stdout]      |              -------------------
[INFO] [stdout]      |              |
[INFO] [stdout]      |              `__awaitee` calls a custom destructor
[INFO] [stdout]      |              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1295 |                   match reload_orchestrator(
[INFO] [stdout]      |  _______________________^
[INFO] [stdout] 1296 | |                     &cfg_path_for_reload,
[INFO] [stdout] 1297 | |                     &resolver,
[INFO] [stdout] 1298 | |                     &orchestrator,
[INFO] [stdout] ...    |
[INFO] [stdout] 1301 | |                 .await
[INFO] [stdout]      | |                  ----^
[INFO] [stdout]      | |                  |   |
[INFO] [stdout]      | |                  |   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                  |   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |__________________|___this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    |   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                    up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 1302 |                   {
[INFO] [stdout] 1303 |                       Ok(outcome) => {
[INFO] [stdout]      |                          -------
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          `outcome` calls a custom destructor
[INFO] [stdout]      |                          `outcome` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1316 | /                         writer
[INFO] [stdout] 1317 | |                             .update(|s| {
[INFO] [stdout] 1318 | |                                 s.config_fingerprint_sha256 = fp;
[INFO] [stdout] 1319 | |                             })
[INFO] [stdout] 1320 | |                             .await;
[INFO] [stdout]      | |                                  -
[INFO] [stdout]      | |__________________________________|
[INFO] [stdout]      | |__________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1326 | |             }
[INFO] [stdout]      | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `outcome` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli_dispatch.rs:1291:16
[INFO] [stdout]      |
[INFO] [stdout] 1288 |           if sig.changed().await.is_err() {
[INFO] [stdout]      |              -------------------
[INFO] [stdout]      |              |
[INFO] [stdout]      |              `__awaitee` calls a custom destructor
[INFO] [stdout]      |              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1291 |           match *sig.borrow() {
[INFO] [stdout]      |                  ^^^^^^^^^^^^
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                  up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1295 |                   match reload_orchestrator(
[INFO] [stdout]      |  _______________________-
[INFO] [stdout] 1296 | |                     &cfg_path_for_reload,
[INFO] [stdout] 1297 | |                     &resolver,
[INFO] [stdout] 1298 | |                     &orchestrator,
[INFO] [stdout] ...    |
[INFO] [stdout] 1301 | |                 .await
[INFO] [stdout]      | |                  -----
[INFO] [stdout]      | |                  |   |
[INFO] [stdout]      | |__________________|___this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    |   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 1302 |                   {
[INFO] [stdout] 1303 |                       Ok(outcome) => {
[INFO] [stdout]      |                          -------
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          `outcome` calls a custom destructor
[INFO] [stdout]      |                          `outcome` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1316 | /                         writer
[INFO] [stdout] 1317 | |                             .update(|s| {
[INFO] [stdout] 1318 | |                                 s.config_fingerprint_sha256 = fp;
[INFO] [stdout] 1319 | |                             })
[INFO] [stdout] 1320 | |                             .await;
[INFO] [stdout]      | |                                  -
[INFO] [stdout]      | |__________________________________|
[INFO] [stdout]      | |__________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1329 | |     }
[INFO] [stdout]      | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `outcome` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli_dispatch.rs:4116:31
[INFO] [stdout]      |
[INFO] [stdout] 4115 |             let sink = WebPushSink::new(sc.name.clone(), body, subs, vapid, transport);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `sink` calls a custom destructor
[INFO] [stdout]      |                 `sink` will be dropped later as of Edition 2024
[INFO] [stdout] 4116 |             sink.deliver(evt).await.map_err(|e| e.to_string())
[INFO] [stdout]      |                               ^^^^^
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 4117 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `sink` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `sink` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/signing.rs:380:1
[INFO] [stdout]      |
[INFO] [stdout]  380 | / impl<C> Drop for SigningKey<C>
[INFO] [stdout]  381 | | where
[INFO] [stdout]  382 | |     C: PrimeCurve + CurveArithmetic,
[INFO] [stdout]  383 | |     Scalar<C>: Invert<Output = CtOption<Scalar<C>>> + SignPrimitive<C>,
[INFO] [stdout]  384 | |     SignatureSize<C>: ArrayLength<u8>,
[INFO] [stdout]      | |______________________________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/controller.rs:250:19
[INFO] [stdout]      |
[INFO] [stdout]  249 |             let p = p.clone();
[INFO] [stdout]      |                 -
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `p` calls a custom destructor
[INFO] [stdout]      |                 `p` will be dropped later as of Edition 2024
[INFO] [stdout]  250 |             match profile_factory::build_with_config(&p, resolver, &new_for_provider) {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  275 |         }))
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-state/src/events.rs:145:1
[INFO] [stdout]      |
[INFO] [stdout]  145 | impl Drop for EventRing {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.14.5/src/raw/mod.rs:3679:1
[INFO] [stdout]      |
[INFO] [stdout] 3679 | impl<T, A: Allocator> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]     --> crates/spt-core/src/redacted_string.rs:190:1
[INFO] [stdout]      |
[INFO] [stdout]  190 | impl Drop for RedactedString {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli_dispatch.rs:1975:19
[INFO] [stdout]      |
[INFO] [stdout] 1968 |           let per_sink_http: Option<Arc<dyn spt_events::sinks::http::HttpTransport>> = if sc
[INFO] [stdout]      |               -------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `per_sink_http` calls a custom destructor
[INFO] [stdout]      |               `per_sink_http` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1975 |               match spt_events::sinks::http::reqwest_transport::ReqwestTransport::with_pin(
[INFO] [stdout]      |  ___________________^
[INFO] [stdout] 1976 | |                 sink_timeout_or_default(sc),
[INFO] [stdout] 1977 | |                 &sc.pin_spki_sha256,
[INFO] [stdout] 1978 | |                 sc.allow_self_signed.unwrap_or(false),
[INFO] [stdout] 1979 | |                 sc.max_cert_chain_depth.or(Some(5)),
[INFO] [stdout] 1980 | |             ) {
[INFO] [stdout]      | |             ^
[INFO] [stdout]      | |             |
[INFO] [stdout]      | |_____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1987 |           };
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 1991 |           let email = if sc.kind == "email" {
[INFO] [stdout]      |               -----
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `email` calls a custom destructor
[INFO] [stdout]      |               `email` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2003 |           let mut deps = spt_events::SinkDeps::none()
[INFO] [stdout]      |               --------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `deps` calls a custom destructor
[INFO] [stdout]      |               `deps` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2015 |                   sinks.insert(sc.name.clone(), Arc::from(sink));
[INFO] [stdout]      |                   ----------------------------------------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `per_sink_http` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `email` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `deps` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli_dispatch.rs:1992:19
[INFO] [stdout]      |
[INFO] [stdout] 1968 |         let per_sink_http: Option<Arc<dyn spt_events::sinks::http::HttpTransport>> = if sc
[INFO] [stdout]      |             -------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `per_sink_http` calls a custom destructor
[INFO] [stdout]      |             `per_sink_http` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1991 |         let email = if sc.kind == "email" {
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `email` calls a custom destructor
[INFO] [stdout]      |             `email` will be dropped later as of Edition 2024
[INFO] [stdout] 1992 |             match build_email_transport(sc, resolver) {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1999 |         } else {
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 2003 |         let mut deps = spt_events::SinkDeps::none()
[INFO] [stdout]      |             --------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `deps` calls a custom destructor
[INFO] [stdout]      |             `deps` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2015 |                 sinks.insert(sc.name.clone(), Arc::from(sink));
[INFO] [stdout]      |                 ----------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `per_sink_http` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `email` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `deps` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-bin/src/cli_dispatch.rs:2013:15
[INFO] [stdout]      |
[INFO] [stdout] 1968 |         let per_sink_http: Option<Arc<dyn spt_events::sinks::http::HttpTransport>> = if sc
[INFO] [stdout]      |             -------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `per_sink_http` calls a custom destructor
[INFO] [stdout]      |             `per_sink_http` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1991 |         let email = if sc.kind == "email" {
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `email` calls a custom destructor
[INFO] [stdout]      |             `email` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2003 |         let mut deps = spt_events::SinkDeps::none()
[INFO] [stdout]      |             --------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `deps` calls a custom destructor
[INFO] [stdout]      |             `deps` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2013 |         match spt_events::build_sink(sc, commands, &deps, resolver) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2026 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `per_sink_http` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `email` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `deps` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_hosts_apply_restore.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_orchestrator_controller_contract.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_about.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_completion.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_mcp_handshake.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_benchmark_dryrun.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_t6_bwire.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_benchmark_dispatch.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_config_validate.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_cli_ops_extra.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-bin/tests/it_mcp_loopback_tcp.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-sftp/tests/cli_inject.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-sftp/tests/mount.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-ssh2/tests/scripting_hooks.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/spt-ssh2/tests/scripting_hooks.rs (2 fixes)
[INFO] [stderr]    Migrating crates/spt-ssh2/tests/uds_forward.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-ssh2/tests/russh_basic.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-ssh2/tests/multi_hop_three_hops.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/spt-ssh2/tests/russh_basic.rs (2 fixes)
[INFO] [stderr]    Migrating crates/spt-ssh2/tests/multi_hop_proxy_dispatch.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-sftp/tests/ops.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-ssh2/tests/agent.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/e2e/ssh2_remote_forward.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> tests/e2e/ssh2_remote_forward.rs:51:15
[INFO] [stdout]      |
[INFO] [stdout]   51 |         match TcpStream::connect(("127.0.0.1", port)).await {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                                       |
[INFO] [stdout]      |               |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               |                                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   55 |                 tokio::time::sleep(Duration::from_millis(25)).await;
[INFO] [stdout]      |                 ---------------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   59 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed tests/e2e/ssh2_remote_forward.rs (1 fix)
[INFO] [stderr]    Migrating tests/e2e/ssh2_reconnect.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/e2e/ssh2_reconnect.rs (1 fix)
[INFO] [stderr]    Migrating tests/stress/tests/fd_leak.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/e2e/ssh2_keepalive.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-diagnostics/src/port_autodetect.rs:167:54
[INFO] [stdout]      |
[INFO] [stdout]  159 | #[async_trait]
[INFO] [stdout]      |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  165 |         let mut stream = timeout(budget, TcpStream::connect(addr)).await.ok()?.ok()?;
[INFO] [stdout]      |             ----------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `stream` calls a custom destructor
[INFO] [stdout]      |             `stream` will be dropped later as of Edition 2024
[INFO] [stdout]  166 |         let mut buf = [0u8; 256];
[INFO] [stdout]  167 |         match timeout(budget, stream.read(&mut buf)).await {
[INFO] [stdout]      |                                                      ^^^^^
[INFO] [stdout]      |                                                      |
[INFO] [stdout]      |                                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/stress/tests/soak_24h.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/e2e/ssh2_multi_forward.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/e2e/ssh2_multi_forward.rs (1 fix)
[INFO] [stderr]    Migrating crates/spt-ssh2/tests/openssh_interop.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-ssh3/tests/forward_limits.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ssh3/tests/forward_limits.rs:249:39
[INFO] [stdout]     |
[INFO] [stdout] 249 |           while let Ok((mut sock, _)) = echo.accept().await {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                         |             |
[INFO] [stdout]     |                                         |             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         |             up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                         |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 250 | /             tokio::spawn(async move {
[INFO] [stdout] 251 | |                 let (mut r, mut w) = sock.split();
[INFO] [stdout] 252 | |                 let _ = tokio::io::copy(&mut r, &mut w).await;
[INFO] [stdout] 253 | |             });
[INFO] [stdout]     | |              -
[INFO] [stdout]     | |              |
[INFO] [stdout]     | |______________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 254 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/spt-ssh3/tests/interop_reference.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-ssh3/tests/forward_limits.rs:277:39
[INFO] [stdout]     |
[INFO] [stdout] 277 |           while let Ok((mut sock, _)) = echo.accept().await {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                         |             |
[INFO] [stdout]     |                                         |             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         |             up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                         |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 278 | /             tokio::spawn(async move {
[INFO] [stdout] 279 | |                 let (mut r, mut w) = sock.split();
[INFO] [stdout] ...   |
[INFO] [stdout] 283 | |             });
[INFO] [stdout]     | |              -
[INFO] [stdout]     | |              |
[INFO] [stdout]     | |______________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 284 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed crates/spt-ssh3/tests/interop_reference.rs (2 fixes)
[INFO] [stderr]    Migrating crates/spt-dns/tests/dns_integration.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-mcp/tests/it_controller_contract.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-mcp/tests/loopback_transport.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-stats/tests/it_leak_stats.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/spt-stats/tests/it_leak_stats.rs (2 fixes)
[INFO] [stderr]    Migrating crates/spt-forward/tests/it_leak_forward.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/spt-forward/tests/it_leak_forward.rs (1 fix)
[INFO] [stderr]    Migrating crates/spt-forward/tests/runner_states.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-forward/src/local_tcp.rs:202:23
[INFO] [stdout]      |
[INFO] [stdout]  202 |                 match TcpListener::bind(addr).await {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                       |                       |
[INFO] [stdout]      |                       |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       |                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                       |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                       |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                       `__awaitee` calls a custom destructor
[INFO] [stdout]      |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  213 |                         tokio::time::sleep(BIND_RETRY_BACKOFF).await;
[INFO] [stdout]      |                         --------------------------------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  217 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-forward/src/local_tcp.rs:233:23
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 match TcpListener::bind(candidate).await {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                       |                            |
[INFO] [stdout]     |                       |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       |                            up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 253 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed crates/spt-events/src/bus.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-events/src/sinks/command.rs:47:32
[INFO] [stdout]      |
[INFO] [stdout]   40 | #[async_trait]
[INFO] [stdout]      |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]   43 |         let mut cmd = Command::new(program);
[INFO] [stdout]      |             -------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `cmd` calls a custom destructor
[INFO] [stdout]      |             `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   47 |         match timeout(to, fut).await {
[INFO] [stdout]      |                                ^^^^^
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]      = note: `cmd` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/spt-state/tests/it_leak_state.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-events/tests/dispatcher_spool.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-events/tests/it_leak_events.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-chaos-proxy/tests/behaviours.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/spt-scripting/tests/sandbox_escape.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-benchmark/src/comparators/openssh.rs:223:15
[INFO] [stdout]      |
[INFO] [stdout]  223 |         match tokio::time::timeout(Duration::from_millis(200), TcpStream::connect(&addr)).await {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                                                                           |
[INFO] [stdout]      |               |                                                                           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               |                                                                           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |                                                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                                                                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  228 |             _ => tokio::time::sleep(Duration::from_millis(50)).await,
[INFO] [stdout]      |                  ---------------------------------------------------
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                  `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  229 |         }
[INFO] [stdout]  230 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/spt-benchmark/src/drivers/dns.rs:114:19
[INFO] [stdout]     |
[INFO] [stdout] 113 |         for h in handles {
[INFO] [stdout]     |                  -------
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 114 |             match h.await {
[INFO] [stdout]     |                   ^^-----
[INFO] [stdout]     |                   | |
[INFO] [stdout]     |                   | this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   | up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   | this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   | `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 120 |                 Err(e) => errors.push(format!("join: {e}")),
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] 121 |             }
[INFO] [stdout] 122 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/spt-scripting/tests/hooks.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-scripting/tests/sandbox_escape.rs:317:11
[INFO] [stdout]      |
[INFO] [stdout]  310 |     let run = run_attack(body, "pre", limits);
[INFO] [stdout]      |         ---
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `run` calls a custom destructor
[INFO] [stdout]      |         `run` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  317 |     match (run.load, run.invoke) {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  326 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `run` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `run` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `run` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `run` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `run` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `run` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `run` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `run` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `run` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/spt-scripting/tests/sandbox_escape.rs:399:11
[INFO] [stdout]      |
[INFO] [stdout]  391 |     let run = run_attack(body, "pre", ScriptLimits::default());
[INFO] [stdout]      |         ---
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `run` calls a custom destructor
[INFO] [stdout]      |         `run` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  399 |     match (run.load, run.invoke) {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  405 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smartstring-1.0.1/src/lib.rs:196:1
[INFO] [stdout]      |
[INFO] [stdout]  196 | impl<Mode: SmartStringMode> Drop for SmartString<Mode> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.18/src/lib.rs:1921:1
[INFO] [stdout]      |
[INFO] [stdout] 1921 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[WARN] too many lines in the log, truncating it
